首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL Trending查询

MYSQL Trending查询
EN

Stack Overflow用户
提问于 2015-10-12 22:17:52
回答 2查看 1.4K关注 0票数 3

我有一个名为log的表,它记录最近使用过的项,列如下所示:

  • u_id(一个唯一的数字)
  • item_id (一个项目标识号)
  • access_time(服务器时间戳)

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

我如何创建这样的查询?

EN

回答 2

Stack Overflow用户

发布于 2015-10-12 22:25:59

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2015-10-12 22:26:40

我只需数一下在最后一小时访问的项目,按访问次数排序,然后取前10位:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33091110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档