sql group by和order by confusion and problem

时间:2011-07-15 05:29:19

标签: php sql

我使用以下查询列出数据库,但我没有得到结果,它看起来像sql组中的一些错误

SELECT 
       list_up.title_ad AS title_ad,
       list_up.username AS username,
       COUNT(cusers.points) AS userpoints,
       COUNT(clicks_up.id) AS countedone
       FROM
         list_up
       LEFT JOIN clicks_up ON (clicks_up.ad_id = list_up.id)
       LEFT JOIN users ON (users.username = list_up.username) GROUP BY list_up.id, users.username ORDER BY list_up.id

1 个答案:

答案 0 :(得分:1)

确实GROUP BY条款有问题......
GROUP BY list_up.id, users.username
这些字段都不是SELECT列表的一部分...
因此ORDER BY可以引用不属于SELECT列表的字段,GROUP BY子句要求字段位于SELECT列表中。

第二个字段很容易修复,您可以使用list_up.username,这两个字段相同,如JOIN子句中所示。

对于第一个,您可能只需要将list_up.id添加到SELECT列表中。