18. marts 2012 - 13:08
Der er
6 kommentarer og
1 løsning
flere counts som benytter samme group by
Hej,
Jeg har en tabel, hvor jeg ønsker at "counte" på forskellige bruger typer.
Altså
select name, count(*) from tabel where brugertype=1, select name, count(*) from tabel where brugertype=2
group by name
Nogle navne er både type 1 & 2.
Nogen som kan hjælpe med hvordan det løses ?
18. marts 2012 - 13:32
#2
SELECT [name], count(*) As Cnt FROM table GROUP BY brugertype, [name]
Kunne være et bud
18. marts 2012 - 17:29
#6
Hvis #4 udtrykker den rigtige forståelse af problemet og af dataerne i tabellen, så er her en query der virkede i den test tabel pluth jeg lavede og som jeg viser nedenfor.
SELECT t.navn, (SELECT COUNT(*) FROM pluth WHERE brugertype = 1 AND navn = t.navn) type1, (SELECT COUNT(*) FROM pluth WHERE brugertype = 2 AND navn = t.navn) type FROM pluth t GROUP BY t.navn;
Resultatet var:
navn type1 type2
Hans 4 1
Jens 2 0
Ole 1 2
Her er test tabellen med data:
INSERT INTO pluth VALUES(1, 'Hans', 1);
INSERT INTO pluth VALUES(2, 'Hans', 1);
INSERT INTO pluth VALUES(3, 'Hans', 1);
INSERT INTO pluth VALUES(4, 'Hans', 1);
INSERT INTO pluth VALUES(5, 'Hans', 2);
INSERT INTO pluth VALUES(6, 'Ole', 1);
INSERT INTO pluth VALUES(7, 'Ole', 2);
INSERT INTO pluth VALUES(8, 'Ole', 2);
INSERT INTO pluth VALUES(9, 'Jens', 1);
INSERT INTO pluth VALUES(10, 'Jens', 1);