我需要获得有评论的项目数量,但无法获取此SQL语句为我工作........任何建议?从表中选择* where和order by clause问题
Select count(Name) as TotalComments
from TableName where comment <> ''
order by ID
错误消息:因为它不是在聚合函数或GROUP BY子句包含
列“TableName.ID”是在ORDER BY子句无效。
我完全错过了什么?
我需要获得有评论的项目数量,但无法获取此SQL语句为我工作........任何建议?从表中选择* where和order by clause问题
Select count(Name) as TotalComments
from TableName where comment <> ''
order by ID
错误消息:因为它不是在聚合函数或GROUP BY子句包含
列“TableName.ID”是在ORDER BY子句无效。
我完全错过了什么?
等一下...
Select count(Name) as TotalComments
from TableName where comment <> ''
order by ID
你选择的计数,所以ORDER BY子句是没有意义的。你应该得到一个标量结果。 (单个值,而不是行如果集合)
这是一个诡计问题吗?现在为时尚早。
只需删除“Order By”条款。这是没有必要的。
试试这个(我试过在SQL Server不能在MySQL中)
SELECT Name, COUNT(ID) AS TotalComments
FROM TableName
WHERE (Comment IS NOT NULL)
GROUP BY Name
ORDER BY TotalComments
有什么错误讯息?或者它只是没有返回行?另外,注释字段的数据类型是什么?它可以为空吗? – David 2010-02-20 08:33:20
“TableName.ID”列在ORDER BY子句中无效,因为它不包含在聚合函数或GROUP BY子句中。 – Etienne 2010-02-20 08:35:39