Scott Ribe <scott_ribe@elevated-dev.com> writes:
> Is this a bug (in 9.0.4), or have I just gone cross-eyed from too much work?
> The query:
> select t0."ICD9", t0."Description", count(*)
> from (select distinct "Person_Id", "ICD9", "Description" from "PatientDiagnoses") as t0
> group by (t0."ICD9", t0."Description")
> order by count(*) desc limit 10;
> The error:
> column "t0.ICD9" must appear in the GROUP BY clause or be used in an aggregate function
Drop the parentheses in the GROUP BY. As is, this is requesting to
group by the composite value ROW(t0."ICD9", t0."Description").
You could argue that that's sufficient to determine both of those column
values, but PG doesn't make that deduction (and, I think, is not
required to by spec).
regards, tom lane