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

我有这么一张表,如下分别有三个字段: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.9k
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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题