【发布时间】:2015-03-29 21:31:13
【问题描述】:
我希望在某个时间段内(例如 7 天)获得表格中的前 5 个项目。
这是表结构和一些随机示例数据
用户 ID | entry_id |签名 |时间戳 1 1 8846 2015-03-27 20:49:56 1 2 8846 2015-03-27 20:49:56 1 3 8846 2015-03-27 20:49:56 1 4 4544 2015-03-27 20:49:56 1 5 4544 2015-03-27 20:49:56 1 6 65445 2015-03-27 20:49:56User_id 是唯一的,entry_id 是主键。
例如,我想查询 sig 列来计算每个数字在 7 天的时间段内出现的次数,例如 8846 出现 20 次。
这是我到目前为止的 SQL 查询,它计算出现次数但不在一段时间内。目前它的基础只需要一个工作示例。
SELECT sig, count(sig), sig_count FROM event
GROUP BY sig
ORDER BY sig_count
DESC LIMIT 5;
(编辑)其他详细信息
我之前错误地表达了这个问题。我真正想说的是,我需要根据过去 7 天的某个时间段内的事件获得前 5 个 sigs 并返回这些记录。数据将用于填充排序图。
例如,如果我可以得到结果然后使用 PHP,我可以获取 entry_id 并循环通过它来获取时间戳和出现次数(频率“x”时间“y”)并将其弹出到图形。
我猜第一个查询会得到计数结果。然后可以运行第二个查询以获取该特定 sig id 以及过去 7 天内与之关联的所有记录。
任何贡献都将不胜感激。
【问题讨论】:
-
7 天内什么?