码迷,mamicode.com
首页 > 数据库 > 详细

mysql分组查询n条记录

时间:2017-12-12 13:30:57      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:notice   最大   not   最大的   ice   select   where   一个   python   

当业务逻辑越来越复杂时,这个查询的需求会越来越多,今天写成笔记记录下来,防止再忘记

SELECT * FROM `notice` a where add_time > 1513008000 and admin_id >= 1 and admin_id <= 10 and status = 0 and 
3 > (SELECT COUNT(1) FROM `notice` where add_time > 1513008000 and admin_id >= 1 and admin_id <= 10 and status = 0 and admin_id = a.admin_id and add_time > a.add_time )
ORDER BY admin_id

  

虚拟一个业务,查询通知表,时间大于今天,管理员id在1到10之间,通知状态为0,重点是根据管理员分组,取每个分组的时间最大的3条

 

注:主查询和子查询的其他条件需保持一致,子查询的分组依据字段(admin_id)需相等,再根据排序依据字段(add_time)做大于判断

mysql分组查询n条记录

标签:notice   最大   not   最大的   ice   select   where   一个   python   

原文地址:http://www.cnblogs.com/cxscode/p/8027151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!