查询每组数据中最新月份的记录
2013-01-17 20:51
141 查看
id | year | month |
111 | 2012 | 1 |
111 | 2012 | 2 |
111 | 2013 | 1 |
112 | 2012 | 1 |
112 | 2012 | 2 |
112 | 2012 | 3 |
112 | 2012 | 4 |
(111,2013,1)
(112,2012,4)
SELECT a.*
FROM A a,
(
SELECT a.id, max(b.year) as year
, max(a.month) AS month
FROM A a,
(
SELECT c.id
, max(c.year) year
FROM A c
GROUP BY c.payItemId
) b
WHERE a.id=b.id AND a.year=b.year
GROUP BY a.id
) b
WHERE a.id = b.id AND a.year=b.year AND a.month = b.month
用了3层嵌套才查出来,不知有没有简便的方法,欢迎各位大神指正
相关文章推荐
- Thinkphp数据查询group分组如何取每组的最新记录
- oracle多表分组查询,每组拿出最新一条数据
- sqlserver 查询数据表中每个类别最新的一条记录
- 【Excle】在重复数据中对日期排序并查询最新的一条记录
- mysql5.7分组查询group by,分组查询并且显示每组时间最新的一条记录
- MySQL 查询分页数据中分组后取每组的前N条记录
- sqlplus查询数据中的最新一条,表中有记录时间的字段
- SQL查询每组第一条数据记录
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- MySql如何分级查询上千万行记录的表,并将该大数据显示到界面中
- 数据结构3.11答案 递归的查询单链表的其中的记录,以及最大能够让堆栈crash的值
- 160805、oracle查询:取出每组中的第一条记录
- 查询和删除数据库表中有重复的数据,只保留唯一条记录的方法
- WINCC SQL报警记录和变量记录数据读取查询
- Oracle查询重复数据与删除重复记录方法
- 提高查询新增数据记录速度的方法
- mysql oracle sqlserver查询n条记录数据的方法
- 查询数据表里所有重复里的单条记录
- 获取每组最新记录
- 分组查询后得到每组中的第一条数据