Şöyle bir masam olduğunu varsayalım.:
Kimlik | 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 |
Bu tabloda, bazı IP adresleri bazı etki alanlarıyla ilişkilendirilir ve bunları tek URL olarak görebiliriz. (Örneğin, domain2.com, 10.100.15, 11.22.33 - bu domain2.com; 172.100.15, domain3.com - domain3.com, vb.). Benim görevim, farklı etki alanlarına sahip satırları hesaplamam ve böyle bir tablo yapmam gerektiğidir:
url | sayma |
---|---|
alan2 | 4 |
alan | 2 |
etki alanı3 | 2 |
Onları sadece birkaç sorgu ile sayabilirim, örneğin:
SELECT COUNT(*)
FROM table1
WHERE (table1.url = “10.100.15”
OR table1.url = “11.22.33” OR table1.url = “domain2.com”)
ve bu masayı elle yap ama hiç hoş değil.
Bunu tek bir sorguda nasıl yapabilirim?
Not: aşağıdaki yorumda belirtildiği gibi, normal toplama basit bir sorgu ile yapılabilir:
SELECT url, count(*)
FROM table1
WHERE GROUP BY url
Ama bana sadece böyle bir masa veriyor.:
URL | sayma |
---|---|
alan2 | 1 |
alan | 2 |
11.22.33 | 2 |
10.100.15 | 1 |
Yoksa bir şey mi kaçırıyorum?