| From: | Christoph Haller <ch(at)rodos(dot)fzk(dot)de> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Cc: | martinkuria(at)hotmail(dot)com |
| Subject: | Re: sub query |
| Date: | 2003-09-17 08:38:08 |
| Message-ID: | 3F681D6F.1E82CAFC@rodos.fzk.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
> Hi I have this problem, when I try to run this query:
>
> SELECT MAX(d), host_position FROM (SELECT host_position,
> COUNT(host_position) as d FROM sss_host GROUP BY host_position) as e;
>
> am getting and ERROR: Attribute e.host_position must be GROUPed or
used in
> an aggregate function.
>
> Please to advice what could be the problem and how can I rewrite it to
work
> thanks in advance.
>
As the error message says: e.host_position must be GROUPed
so (supposing you want a one row result showing the maximum count)
SELECT MAX(e.d), e.host_position FROM (SELECT host_position,
COUNT(host_position) as d FROM sss_host GROUP BY host_position) as e
GROUP BY e.host_position ORDER BY 1 LIMIT 1;
should match your intentions.
Regards, Christoph
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Christoph Haller | 2003-09-17 08:54:49 | Re: sub query |
| Previous Message | Martin Kuria | 2003-09-17 08:19:15 | sub query |