MYSQL趋势查询
我有一个名为MYSQL趋势查询,mysql,sql,select,trending,Mysql,Sql,Select,Trending,我有一个名为log的表,它记录最近使用的项目。列如下: u\u id(唯一编号) 项目id(项目id号) 访问时间(服务器时间戳) 我想创建一个查询,查找一段时间内访问次数最多的项目的趋势。例如,在过去60分钟(服务器时间)内访问最多的前10项是什么 如何创建这样的查询 从日志中选择项目id、计数(*) SELECT item_id, COUNT(*) FROM log WHERE TIMESTAMPDIFF(MINUTE, access_time, NOW()) <= 60 GRO
log
的表,它记录最近使用的项目。列如下:
(唯一编号)u\u id
(项目id号)项目id
(服务器时间戳)访问时间
从日志中选择项目id、计数(*)
SELECT item_id, COUNT(*) FROM log
WHERE TIMESTAMPDIFF(MINUTE, access_time, NOW()) <= 60
GROUP BY item_id
ORDER BY COUNT(item_id) DESC
LIMIT 0,10
其中TIMESTAMPDIFF(MINUTE,access\u time,NOW())我只需计算过去一小时内访问的项目数,按访问次数排序,然后取前10名:
SELECT item_id, COUNT(*)
FROM log
WHERE access_time >= DATE_SUB(CURDATE(), INTERVAL 1 HOUR)
GROUP BY item_id
ORDER BY 2 DESC
LIMIT 10