<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Zapytanie sumowanie w podziale na okresy]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=2963&amp;type=atom"/>
	<updated>2015-11-03T09:13:42Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=2963</id>
		<entry>
			<title type="html"><![CDATA[Odp: Zapytanie sumowanie w podziale na okresy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=6217#p6217"/>
			<content type="html"><![CDATA[ja proponuje małą zmianę
  select id_sprzedawcy
        ,d.data_start::date
        ,sum(suma)
   from (select *,min(data) over (partition by id_sprzedawcy) as data_min from sprzedaz) s
       ,generate_series(s.data_min,s.data,interval '2 years') d(data_start)
  where s.data between d.data_start and d.data_start+interval '2 years'
  group by 
         id_sprzedawcy
        ,d.data_start
order by 1,2]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2015-11-03T09:13:42Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=6217#p6217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Zapytanie sumowanie w podziale na okresy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=6216#p6216"/>
			<content type="html"><![CDATA[Generalnie uzyskałem efekt, który chciałem ... prawie :-(. Może ktoś umi poprawić zapytanie bo w wygenerowanych datach wszędzie widnieje taka sama suma. Nie potrafię smucić bazy by suma dokonywana była dla każdego przedziału czasowego:

select m.id_sprzedawcy,generate_series(m.min::date,current_date()::date,'2 years')::date,sum(s.suma) from sprzedaz s, minmax m where s.id_sprzedawca=m.id_sprzdawca group by m.id_sprzedawca,m.min,m.max order by 1,2;

id_sprzedawcy |   data    |  suma
---------------+----------------+---------
         23 | 2011-06-11      |  12382.71
         23 | 2013-06-11      |  12382.71
         23 | 2015-06-11      |  12382.71

 
Jak widać utworzyłem drugą pomocniczą tabelę o strukturze id_sprzedawca,min,max gdzie przechowuję minimalną datę i maksymalną w powiązaniu z id_sprzedawca. Nie wiem skąd ta suma bo nawet jak zrobię sum(suma) ze wszystkiego to powinno wyjść około 6000 - więc coś się dubluje (źle liczy).

Pomoc pilnie potrzebna :-)]]></content>
			<author>
				<name><![CDATA[mik]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1076</uri>
			</author>
			<updated>2015-11-01T08:56:42Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=6216#p6216</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Zapytanie sumowanie w podziale na okresy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=6215#p6215"/>
			<content type="html"><![CDATA[Mam taką tabelę:
 id_sprzedawcy |    data    |  suma
---------------+------------+---------
            11 | 2009-07-20 | 1100.00
            22 | 2009-07-27 | 1100.00
            11 | 2005-07-27 |  620.00
            31 | 2009-08-07 | 2403.20
            33 | 2009-08-12 | 4822.00
            52 | 2009-08-14 | 4066.00
            52 | 2009-08-15 |  295.00
            82 | 2009-08-15 |    0.00
            23 | 2011-06-11 |  340.00
            23 | 2012-03-22 | 1000.00
            23 | 2012-04-08 | 1000.00
            23 | 2012-07-13 |   36.00
            23 | 2013-07-17 | 2480.00
            23 | 2014-04-09 | 1000.00
            23 | 2014-06-10 | 1500.00
            23 | 2014-07-20 |  700.50

Potrzebuję zapytanie które zwróci mi dla każdego id_sprzedawca serie co dwa lata od najmniejszej daty danego sprzedawcy a następnej kolumnie sum(suma) z tego właśnie okresu.

id_sprzdawca | okres | sum(suma)

Nie wiem jak to zrobić w postgresie. Mogę napisać to w PHP ale zastanawiam się czy wykonywanie skryptu w php nie będzie zbytnio ociążało serwera. Te kilka przykładowych rekordów to tylko namiastka tego co siedzi w tabeli. Będę wdzięczny za pomoc.]]></content>
			<author>
				<name><![CDATA[mik]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1076</uri>
			</author>
			<updated>2015-11-01T00:54:38Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=6215#p6215</id>
		</entry>
</feed>
