1

Temat: group by

Tabela zawierająca kolumny telefon, wojewodztwo, kategoria itp.

select kategoria, count(*) from tabela where wojewodztwo = 'mazowieckie' group by kategoria

zlicza nam rekordy w danych kategoriach w danym wojewodztwie

Czy można jednym odpytaniem zliczyć ilość rekordów w każdej kategorii z podziałem na województwa ?

2

Odp: group by

Nie wiem czy dobrze zrozumiałem

select kategoria, wojewodztwo, count(*) from tabela  group by kategoria, wojewodztwo

?

Może podaj jakiś przykład danych i co chcesz osiągnąć.

3

Odp: group by

Chciałbym jednym odpytaniem zliczyć ilość rekordów w kategorii z podziałem na województwa

Województwo,                         mazow   podlaskie  lubuskie
Administracja publicza;                45               60         56
Szpitale                                      56               76          87

Układ tabeli jest taki:     Telefon, nazwa, wojewodztwo, kategoria
To jest baza biznesowa.
Bez problemy zliczy mi ilość rekordów w poszczególnych kategoriach z warunkiem where wojewodztwo = 'mazow' group by kategoria.
Chciałbym osiągnąć wynik zliczający ilość rekordów z podziałem na kategorię, wojewodztwa j.w. Nie wiem czy jest to możliwe.

4

Odp: group by

select kategoria,
           (select count(*) from tabela t2 where t2.kategoria=t1.kategoria and          
             t2.wojewodztwo='pomorskie') pomorskie,
           (select count(*) from tabela t2 where t2.kategoria=t1.kategoria and          
             t2.wojewodztwo='lubuskie') lubuskie,
           (select count(*) from tabela t2 where t2.kategoria=t1.kategoria and          
             t2.wojewodztwo='mazowieckie') mazowieckie,
...
<i tak dalej dla wszystkich województw>
...
from tabela t1 group by kategoria;