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