假设本人有一张表A,里面有三个字段(ID,NAME,DATE),数据如下:
ID NAME DATE
1 a 2014-11-12
2 a 2014-12-05
3 b 2014-10-08
4 c 2016-09-06
5 c 2013-04-17
6 b 2014-11-26
7 c 2013-09-07
8 b 2017-09-04
怎么样才能查到答案为以下的内容,应该怎么查?
ID NAME DATE
3 b 2014-10-08
5 a 2013-04-17
7 c 2003-09-07
规则就是NAME只取一个,而DATE是按顺序排列,取的是ID的值,请帮忙写一下SQL语句,万分谢谢!
ID NAME DATE
1 a 2014-11-12
2 a 2014-12-05
3 b 2014-10-08
4 c 2016-09-06
5 c 2013-04-17
6 b 2014-11-26
7 c 2013-09-07
8 b 2017-09-04
怎么样才能查到答案为以下的内容,应该怎么查?
ID NAME DATE
3 b 2014-10-08
5 a 2013-04-17
7 c 2003-09-07
规则就是NAME只取一个,而DATE是按顺序排列,取的是ID的值,请帮忙写一下SQL语句,万分谢谢!
解决方案
2
你的结果有什么规律吗,没看出来你的结果是怎么出来的
8
你的意思应该是
select * from tb A
where not exists (select 1 from tb B where A.name=B.name and A.date>B.date)
select * from tb A
where not exists (select 1 from tb B where A.name=B.name and A.date>B.date)
7
这个:
select id,name,date from ( select id,name,date from A order by name,date )t group by name
3
LZ你好
试一下:
试一下:
select id,name,date from ( select id,name,date from A order by name,date )t group by name