我正在尝试编写查询以查找eligble键。关键要求的标准是24小时内不得使用10次。基于计数和间隔的Mysql返回键
每次使用密钥时,记录都会保存在我的表api_history中。
任何人都可以请教我如何正确地做到这一点?目前我得到一个返回的空键,因为api_history中没有记录。 (然后它应该只是返回了第一个给定键)。
在此先感谢!
查询:
SELECT ak.key
FROM api_history ah
INNER JOIN api_keys ak ON ah.key_id = ah.id
WHERE ah.used_at > DATE_SUB(now(), INTERVAL 1 DAY)
HAVING COUNT(ah.id) < 10 LIMIT 0,1
表:
api_keys
- ID(INT)
- 密钥(字符串)
api_history
- ID(INT)
- KEY_ID(INT)
- used_at(日期时间)
这仍返回第一个关键,即使现在与used_at日期2012-08-03 00:00:00 – Kristian 2012-08-03 14:17:26
固定api_history表10行。我从你的问题粘贴查询,并没有意识到加入条件不正确 – a1ex07 2012-08-03 14:21:52
@Kris:检查更新的版本,它应该现在正常工作。 – a1ex07 2012-08-03 14:23:19