我需要獲得有評論的項目數量,但無法獲取此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