请教关于mysql分组查询统计数据的问题

李惟
  • 2.1k

我有这么一张表,如下分别有三个字段:num, task_id, day

-----------------------------------
  num      task_id        day
-----------------------------------
   2         237      2017-01-21
-----------------------------------
   1         201      2017-01-21
-----------------------------------
   1         208      2017-01-21
-----------------------------------
   2         251      2017-01-21
-----------------------------------
   1         251      2017-01-20
-----------------------------------
   2         201      2017-01-20
-----------------------------------
   1         237      2017-01-20
-----------------------------------
   1         201      2017-01-19
-----------------------------------
   1         237      2017-01-19
-----------------------------------

问题:

  • 我现在要在上面这个结果列表中,保持按照day顺序不变的情况下

  • 获取最近30行task_id数据,要求task_id不能重复

  • 每行数据要根据task_id,获取对应的num数量之和

请问如何做到

回复
阅读 2.2k
2 个回答
✓ 已被采纳

自己找到答案了。参考了这里
http://blog.csdn.net/swweb/ar...

核心语句修改如下:

SELECT `task_id`, MAX(`send_time`) AS `day` FROM `game_work` GROUP BY `task_id` ORDER BY `day` DESC

select sum(num) as num, task_id, day from tablename group by day task_id order by day desc limit 1,30

宣传栏