SQL query (group by)
Vaclav Stepan
w na linux.fjfi.cvut.cz
Pátek Březen 22 17:13:42 CET 2002
Dobre odpoledne,
obavam se, ze je to nejaky zkrat v me hlave, ale zasekl jsem se na nasledujicim:
Mam (typove) tabulku (PostrgreSQL 7.1.3):
dom | date | not null
p1 | real |
p2 | real |
Kazdy radek je jedno mereni. Z jednoho dne muze byt vice mereni, treba to muze
vypadat:
2001-01-01 | 1.4 | 1.7
2001-01-01 | 0 | 0
9999-01-02 | 1.4 | 1.2
Chtel bych dotaz, ktery vyhodi ke kazdemu datu zaznam, ktery ma nejvyssi p1
(na jednu query, abych z toho mohl udelat view).
Zkusil jsem:
select dom,max(p1),p2 from pixi group by rc,dom;
Coz ovsem neprojde. Chyba:
ERROR: Attribute pixi.p2 must be GROUPed or used in an aggregate function
Mohu udelat:
select dom,max(p1) from pixi group by rc,dom;
Ale tam nebudu mit p2. Nemohu udelat group pres p2, protoze bych dostal i
ten druhy radek (anzto 1.7 != 0).
Prosim, jakou konstrukci se tohle udela?
Dekuju
--
Vaclav Stepan
w na linux.fjfi.cvut.cz
Další informace o konferenci Databases