MySQL 先按某字段分组,再取每组中前N条记录
2017-10-30 18:38
267 查看
按 gpcode每组 取每组 f4 最大的那条记录:
方法一:
select * from calcgsdataflash a where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117
and 1 >= (select count(*) from calcgsdataflash b where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117
and a.gpcode = b.gpcode and a.f4 <= b.f4);
前 N 条 就是 N >=
方法二:
SELECT * FROM (SELECT * FROM calcgsdataflash where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117) a ,
(SELECT gpcode ,MAX(f4) as f4 FROM calcgsdataflash where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117 GROUP BY gpcode) b
where a.gpcode = b.gpcode AND a.f4 = b.f4;
方法一:
select * from calcgsdataflash a where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117
and 1 >= (select count(*) from calcgsdataflash b where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117
and a.gpcode = b.gpcode and a.f4 <= b.f4);
前 N 条 就是 N >=
方法二:
SELECT * FROM (SELECT * FROM calcgsdataflash where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117) a ,
(SELECT gpcode ,MAX(f4) as f4 FROM calcgsdataflash where gscode = 'LS_F' and ymd >= 20171117 and ymd <= 20171117 GROUP BY gpcode) b
where a.gpcode = b.gpcode AND a.f4 = b.f4;
相关文章推荐
- [mysql] 先按某字段分组再取每组中前N条记录
- [置顶] 【mysql 分组取前几条】 先按某字段分组再取每组中前N条记录
- mysql 先按某字段分组再取每组中前N条记录
- [mysql] 先按某字段分组再取每组中前N条记录
- [mysql] 先按某字段分组再取每组中前N条记录
- mysql根据某个字段分组根据更新时间获取最新的记录
- Mysql分组后获取其中一个字段最大值的整条记录
- mysql分组取每组前几条记录(排名) 附group by与order by的研究
- mysql分组取每组前几条记录(排名) 附group by与order by的研究
- mysql分组,取每组前几条记录
- mysql分组取每组前几条记录(排序)
- mysql分组取每组前几条记录(排序)
- mysql分组取每组前几条记录
- mysql 分组取得 每组记录数
- Mysql按字段分组取最大值记录
- mysql分组取每组前几条记录(排名) 附group by与order by的研究
- Mysql按字段分组取最大值记录
- mysql分组取每组前几条记录(排名)
- mysql按字段分组,取最大值记录(转载)
- mysql分组,取每组前几条记录