MYSQL趋势查询

时间:2015-10-12 22:17:52

标签: mysql sql select trending

我有一个名为log的表,用于记录列中最近使用的项目如下:

  • u_id(一个唯一的号码)
  • item_id(商品ID编号)
  • access_time(服务器时间戳)

我想创建一个查询,查找一段时间内访问次数最多的项目的趋势。例如,在过去60分钟(服务器时间)中访问次数最多的前10项是什么。

如何创建此类查询?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我只计算过去一小时内访问过的项目,按访问次数排序,然后进入前10名:

x