Avatar billede ionicoder Nybegynder
15. januar 2009 - 22:36 Der er 1 løsning

Order by?

Jeg har en sql query hvor resultatsættet består af et tekstfelt og et int felt, og vil typisk se sådan ud:

110 XXX
110 XXX
110 XXX
123 YYY
146 ZZZ
180 AAA
180 AAA
900 BBB

Hvordan strukturerer jeg min query således at resultat sættet grupperes efter antallet af ens rækker, DVS:

110 XXX
110 XXX
110 XXX
180 AAA
180 AAA
123 YYY
146 ZZZ
900 BBB

Jeg har prøvet med order by og count,

Alle input velkomne
Avatar billede wagner Nybegynder
15. januar 2009 - 23:12 #1
Har du brug at for at vise alle de ens rækker ellers kan du måske gøre det således:

select kol1, kol2
from tabel
group by kol1, kol2
order by count(*)

Hvis dette er virker kan du trække count(*) med ud, og så anvende dette i en subselect således:
select *
from tabel t1
  join
(
select kol1, kol2, count(*) as antal
from tabel
group by kol1, kol2
) t2 on t2.kol1 = t.kol1 and t2.kol2=t.kol2
order by t2.antal

Wagner
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester