Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: ptacek 28. 11. 2012, 08:08:45
-
Zdravím, mám v databázi údaje: datum a hodnotu. Data jsou za několik let. Potřebuji vysčítat hodnoty po týdnech a myslel jsem, že použiji něco jako:
select (date_part('year', "Datum"), date_part('week', "Datum")) as "RokTyden", sum("Hodnota") as "Soucet" from "Tabulka" group by "RokTyden"
Ale mám problém, že pro datum 31.12.12 mi to vrátí (2012, 1) tedy první týden roku 2012, což způsobí špatné výsledky. Potřeboval bych, aby hodnota spadla do prvního týdne roku 2013 tedy (2013, 1). Můžete mi poradit, co s tím? Děkuji.
-
Ak to vyslovene potrebujes ako rok tyzden, tak namiesto year musis pouzit isoyear cize date_part('isoyear', "Datum"). week uz je ISO8601.
-
http://www.postgresql.org/docs/8.0/static/functions-datetime.html
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40'),sum(column) from table group by EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40')
-
jasne ze misto datumu pouziju column s datumem
-
Děkuji za odpovědi, isoyear je přesně to co potřebuji.
-
este ak vyslovene nepotrebujes zvlast rok a tyzden, mozes pouzit date_trunc ('week', Datum)