SQL-ben hogyan tudok sorbaállított elemek közül egy N-ediket kiválasztani?
Pl Sorba kell rendezni testmagasság szerint a tanulókat.
30 fős osztály, az megvan, hogy ORDER BY magassag.
De hogy tudom megnézni, hogy ki a 15. legmagasabb pl?
A Tiétek jobb mint az enyém, köszönöm szépen.
Az enyém csak elméleti, algebrai érdekesség, és nem is hatékony (valószínűleg négyzetes idő)
Elvileg tiszta self-join-nal ki lehet rakni (és persze legyen még csoportosítás is):
create database practice
create table pupil (id int not null primary key, height real not null);
insert into pupil (name, height) values ('Mark', 183);
insert into pupil (name, height) values ('Christa', 179);
insert into pupil (name, height) values ('Joe', 190);
insert into pupil (name, height) values ('Hilde', 170);
select main.*, count(*) as rank
from pupil as main
join pupil as aux on aux.height <= main.height
group by main.id
order by rank;
Csak most sikerült megtalálnom a módját, hogy online is mutathassam:
Az sqlfiddle, amit korábban e célra használtam, most valamiért nem működik nekem.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!