<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - group by]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=440</link>
		<description><![CDATA[Najświeższe odpowiedzi w group by.]]></description>
		<lastBuildDate>Wed, 19 May 2010 18:50:01 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: group by]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2044#p2044</link>
			<description><![CDATA[Pivota możesz zrobić na przykład tak
[code]
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;
[/code]
Trochę to jednak pracochłonne.
Inne wyjście to użyć funkcji crosstable, którą możesz zainstalować ze źródeł postgresa z katalogu crontib. Ja osobiście nigdy tej funkcji nie użyłem więc się nie wypowiadam, ale tu [url]http://www.postgresql.org/docs/current/static/tablefunc.html[/url]
piszą że działa.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Wed, 19 May 2010 18:50:01 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2044#p2044</guid>
		</item>
		<item>
			<title><![CDATA[Odp: group by]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2042#p2042</link>
			<description><![CDATA[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.]]></description>
			<author><![CDATA[dummy@example.com (dartagnan)]]></author>
			<pubDate>Wed, 19 May 2010 07:25:06 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2042#p2042</guid>
		</item>
		<item>
			<title><![CDATA[Odp: group by]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2041#p2041</link>
			<description><![CDATA[Nie wiem czy dobrze zrozumiałem
[code]
select kategoria, wojewodztwo, count(*) from tabela  group by kategoria, wojewodztwo
[/code]
?

Może podaj jakiś przykład danych i co chcesz osiągnąć.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Wed, 19 May 2010 05:39:52 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2041#p2041</guid>
		</item>
		<item>
			<title><![CDATA[group by]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2040#p2040</link>
			<description><![CDATA[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 ?]]></description>
			<author><![CDATA[dummy@example.com (dartagnan)]]></author>
			<pubDate>Tue, 18 May 2010 22:02:03 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2040#p2040</guid>
		</item>
	</channel>
</rss>
