Re: [SQL] Aggregates and Views
От | Tom Lane |
---|---|
Тема | Re: [SQL] Aggregates and Views |
Дата | |
Msg-id | 1304.947888776@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Aggregates and Views (Mark Volpe <volpe.mark@epamail.epa.gov>) |
Список | pgsql-sql |
Mark Volpe <volpe.mark@epamail.epa.gov> writes: > Is it possible to use an aggregate on a view > that contains an aggregate? Not at present. Views are implemented by a rewriter that tries to transform your query into another SQL query, and since aggregates of aggregates are not possible, it doesn't work. In current sources I actually get an error from your second example: regression=# SELECT sum(total) FROM y; ERROR: Aggregate function calls may not be nested For the same sort of reason, GROUPed views don't play nice with an outer query that specifies different grouping (ie, has a GROUP clause of its own, or perhaps an aggregate). What we need in order to fix this is subselects in FROM clauses; if the rewriter could transform your query into SELECT sum(total) FROM (SELECT n, count(*) AS total FROM x GROUP BY n) then everything would just work (and the rewriter would get a lot simpler, too ;-)). We don't have subselects in FROM yet, but I hope to see them in 7.1, or 7.2 at the latest. regards, tom lane
В списке pgsql-sql по дате отправления: