Heim > Datenbank > MySQL-Tutorial > 查询数据的最大排序问题(只能用一条语句写)_MySQL

查询数据的最大排序问题(只能用一条语句写)_MySQL

WBOY
Freigeben: 2016-06-01 13:56:40
Original
1092 Leute haben es durchsucht

CREATE TABLE hard (qu char (11) ,co char (11) ,je numeric(3, 0))

insert into hard values ('A','1',3)
insert into hard values ('A','2',4)
insert into hard values ('A','4',2)
insert into hard values ('A','6',9)
insert into hard values ('B','1',4)
insert into hard values ('B','2',5)
insert into hard values ('B','3',6)
insert into hard values ('C','3',4)
insert into hard values ('C','6',7)
insert into hard values ('C','2',3)


要求查询出来的结果如下:

qu co je
----------- ----------- -----
A 6 9
A 2 4
B 3 6
B 2 5
C 6 7
C 3 4


就是要按qu分组,每组中取je最大的前2位!!
而且只能用一句sql语句!!!

select * from hard a where (select count(*) from hard b
where a.qu=b.qu and b.je>=a.je)ORDER BY qu,je DESC
选出一条记录, 然后做循环.
这么写会好懂一些?
select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je)

可以这样写:
select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je desc)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage