Předpokládejme, že mám na stole, jako je tento:
Id | url |
---|---|
1 | 11.22.33 |
2 | 11.22.33 |
3 | domain.com |
4 | domain2.com |
5 | domain.com |
6 | 10.100.15 |
7 | domain3.com |
8 | 172.100.15 |
9 | 172.100.15 |
V této tabulce, některé IP adresy jsou spojeny s některé domény a můžeme zvážit, je, že jednu adresu URL. (Například, domain2.com, 10.100.15, 11.22.33 - to je domain2.com; 172.100.15, domain3.com - domain3.com, atd.). Můj úkol je, že musím spočítat řádky s různými doménami a udělat tabulku jako je tato:
url | počítat |
---|---|
domain2 | 4 |
domény | 2 |
domain3 | 2 |
Jsem mohl jen počítat s několika dotazy, jako například:
SELECT COUNT(*)
FROM table1
WHERE (table1.url = “10.100.15”
OR table1.url = “11.22.33” OR table1.url = “domain2.com”)
a aby tyto tabulky ručně, ale to není v pohodě.
Jak jsem to mohl udělat v jednom dotazu?
PS: jak již bylo zmíněno v komentáři níže, obvykle agregace může být provedeno s jeden jednoduchý dotaz:
SELECT url, count(*)
FROM table1
WHERE GROUP BY url
Ale dává mi pouze tabulka, jako je tento:
URL | počítat |
---|---|
domain2 | 1 |
domény | 2 |
11.22.33 | 2 |
10.100.15 | 1 |
Nebo jsem něco chybí?