webForumDet fria alternativet

Vill ta fram 5 största posterna

4 svar · 347 visningar · startad av mphed

mphedMedlem sedan jan. 20062 inlägg
#1

Jag är ganska ny på SQL och försöker nu få fram en lista med de 5 poster som har högst värde.

--------------------
|namn     |antal   |
--------------------
|anders   |3       |
|bengt    |8       |
|jan      |2       |
|lars     |12      |
|kalle    |24      |
|göran    |13      |
|sven     |9       |
|börje    |17      |
--------------------

Resultatet jag vill få fram är alltså:
kalle 24
börje 17
göran 13
lars 12
sven 9

Hur skriver jag SQL-frågan korrekt? select max(antal) ger ju bara "24". Kan man göra något i stil med select max5(antal)?

MeleaMedlem sedan juli 20033 147 inlägg
#2
select
   antal
from
   tabell
order by
   antal desc
limit 
   5
cyprysMedlem sedan dec. 20003 563 inlägg
#3

Beroende på vilken db du använder.

-- access
select top 5 namn, antal from tbl order by antal desc

-- mySql
select namn, antal from tbl order by antal desc limit 5
mphedMedlem sedan jan. 20062 inlägg
#4

Tack för svaren. Kom ju på att jag skulle varit tydligare med vilken DB jag använder (MySQL). Det funkar. Tack!

@ndersMedlem sedan juni 200032 969 inlägg
#5

mphed skrev:

Tack för svaren. Kom ju på att jag skulle varit tydligare med vilken DB jag använder (MySQL). Det funkar. Tack!

Bra att du fick ihop det!

Hur markerar jag vilket svar som löste mitt problem?

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)