Avatar billede warberg Juniormester
17. februar 2010 - 22:26 Der er 1 kommentar og
1 løsning

Order by sammentælling

Jeg har følgende sammentællinger:

SUM(IF(r.hjemmemaal = 0 AND r.udemaal = 0, 1, 0)) AS nulnul,
SUM(IF(r.hjemmemaal = 1 AND r.udemaal = 1, 1, 0)) AS etet,
SUM(IF(r.hjemmemaal = 2 AND r.udemaal = 2, 1, 0)) AS toto,
SUM(IF(r.hjemmemaal = 3 AND r.udemaal = 3, 1, 0)) AS tretre,
SUM(IF(r.hjemmemaal = 4 AND r.udemaal = 4, 1, 0)) AS firefire


Jeg vil gerne ORDER BY største SUM ?
17. februar 2010 - 23:14 #1
Den kender min mysql ikke!  (Eller jeg er ikke smart nok til at faa det til at virke.)

Men hvis jeg har et antal resultater fra fodboldskampe og jeg vil traekke ud antallet af uafgjorte kampe fordelt paa antal (uafgjorte) maal og order by antal maal, saa kan jeg faa foelgende kode til at virke:

SELECT hjemmemaal, udemaal, COUNT(*) c FROM warberg WHERE hjemmemaal = udemaal
GROUP BY hjemmemaal, udemaal
ORDER BY c DESC

For at teste det lavede jeg en lille database saaledes: 

CREATE TABLE warberg(hjemmemaal INT, udemaal INT);
INSERT INTO warberg VALUES(0, 0);
INSERT INTO warberg VALUES(1, 0);
INSERT INTO warberg VALUES(1, 1);
INSERT INTO warberg VALUES(2, 0);
INSERT INTO warberg VALUES(2, 1);
INSERT INTO warberg VALUES(2, 2);
INSERT INTO warberg VALUES(1, 1);
INSERT INTO warberg VALUES(1, 1);
INSERT INTO warberg VALUES(2, 2);
INSERT INTO warberg VALUES(3, 3);

og min query gav foelgende resultat:

hjemmemaal  udemaal  c 
1 1 3
2 2 2
0 0 1
3 3 1
Avatar billede warberg Juniormester
17. februar 2010 - 23:29 #2
Det er klasse, tak for det!
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