Avatar billede mnv_dk Praktikant
15. januar 2005 - 18:13 Der er 5 kommentarer og
1 løsning

Vælge den GROUP med færrest rækker

Hej.

Jeg har en QUERY som denne:

SELECT * FROM `table` GROUP BY `foo`;

Men jeg skal ikke bruge dem alle sammen, jeg skal bruge den værdi af 'foo' som har færrest rækker i sin "gruppe", håber i forstår.

Har desværre ingen ide om hvordan jeg skal finde den, medmindre jeg skal tælle alle hvor mange rækker, der er i hver "gruppe".

På forhånd tak.
Avatar billede arne_v Ekspert
15. januar 2005 - 18:17 #1
Prøv:

SELECT COUNT(*) AS n,foo FROM table GROUP BY foo ORDER BY n DESC LIMIT 1
Avatar billede duckman Nybegynder
15. januar 2005 - 18:18 #2
et gæt vil være:
SELECT * FROM 'table' GROUP BY 'foo' ORDER BY COUNT(kolonne) ASC
Dette vælger alle rækkerne, men sorterer således at dem med lavest count kommer forrest, så kan du jo nøjes med kun at bruge den første række.
Avatar billede mnv_dk Praktikant
15. januar 2005 - 18:42 #3
arne_v, ser ud til at virke men skal jeg ikke have ASC ?
Avatar billede arne_v Ekspert
15. januar 2005 - 18:55 #4
jo

du sagde færrest - jeg tænkte flest
Avatar billede arne_v Ekspert
15. januar 2005 - 18:55 #5
og et svar
Avatar billede mnv_dk Praktikant
15. januar 2005 - 19:02 #6
Jeg takker
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