29. august 2004 - 23:10Der er
5 kommentarer og 1 løsning
Udvælgelse af 20 rækker, der har den største værdi i et felt.
Jeg ønsker her, at udvælge 20 rækker, som har den største værdi i et auto_increment felt. Rækker kan slettes, så jeg er ikke sikker på, at der er en række for hvert auto_increment index.
Jeg ønsker en sætning noget i stil med:
vælg 20 rækker, der har denne konstant som index, eller som er næststørst og ikke valgt i forvejen.
Jeg har ingen andelse om det her er svært (jeg er ny i sql ;), men hvis spørgsmålet burde tildeles flere point, giver jeg gerne.
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
eeeeej, vil det ikke give mig 20 rækker, hvor indexet er præcis konstanten? Det er jo et auto_indexment værdi, så der er ikke to rækker med samme nummer. Dertil kommer der også, at hvis der kan slettes i rækkerne, kan jeg ikke bare bede om:
select * from table where id > konstant, hvor konstanten er:
select max(id) from table - 20
Desuden ville det også være en fordel, hvis rækkerne blev serveret, med nedadgående id , altså at den række med det største id af de 20 kommer først osv.
Det ville være til at overskue, hvis mysql havde naturlige rækkenumre, såsom (tilgiv mit pseudo kode ;)
var = (select count(id) from table) - 20;
select * from table where count(id) >= var
jeg får grå hår af det her... mysql er sådan en bitch!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.