22. juli 2008 - 03:09Der er
12 kommentarer og 1 løsning
Order by og Count ?
Jeg har en lille tabel med: - student - age - school
Så vil jeg gerne ende ud med en liste som denne: Jens - 19 - Mølleskole (mest brugte skole) Mike - 18 - Mølleskole Anne - 19 - Mølleskole John - 17 - Mølleskole Ross - 18 - Bakkeskolen Kate - 17 - Bakkeskolen Pete - 18 - Skiskolen (mindst brugte school)
Altså, at de elever som går i den skole med fleste records, bliver vist først og de elever som går i en skole med få elever bliver vist tilsidst.
Men det er altså ikke blot en COUNT og GROUP BY, for så kommer de enkelte records jo ikke til syne som ovenfor, og det er jo det jeg vil.
Et side spørgmål mere. Det gør ikke ngoet hvis du ikke kan svare på det.
Er det lige meget, om man siger COUNT(*) eller COUNT(age)? Den skal jo kun tælle een kolonne, hvis man vælger det sidste, mens at den jo skal tælle det hele hvis man vælger *
SELECT student, age, school FROM tabel1 INNER JOIN ( SELECT school, COUNT(*) AS elever FROM tabel1 GROUP BY school) AS tmp ON tmp.school = tabel1.school ORDER BY elever DESC
Beder dem hvis svar du har kunnet bruge ligge et svar, venter til de gør det, accepterer disse var (ved at markede deres navne i en combo box ude til venstre og klikke accepter).
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.