例如,在以下的表中
ID Data_1 Data_2 Data_3
-------------------------------------
1 A X X
2 A X X
3 B X X
4 B X X
5 C X X我想选出data_1中为B且ID最大的记录,这个sql语句该怎么写呢?
刚学sql,用起来真的不太会,希望大家帮忙
:-)
ID Data_1 Data_2 Data_3
-------------------------------------
1 A X X
2 A X X
3 B X X
4 B X X
5 C X X我想选出data_1中为B且ID最大的记录,这个sql语句该怎么写呢?
刚学sql,用起来真的不太会,希望大家帮忙
:-)
select max(ID) from test where data_1 = 'B')
from (select id,data_1,data_2,data_3,
row_number() over(partition by data_1 order by id desc) r from test) t
where t.r = 1
order by t.data_1
1.这是oracle中分区排序,不仅可以得到最大,还可以得到第二大,第三大...
2.*一般用于测试,在实际SQL语句时最好不用,对性能不好。
五一快乐!
select max(ID) from test where data_1 = 'B')
select max(ID) from test where data_1 = 'B')