簡體   English   中英

條件作為在 mysql 中使用 AS“名稱”命名的列

[英]Condition as a column named using AS “name” in mysql

我正在嘗試計算在 mysql 中重復(其值)超過 x 次的行,每次嘗試執行此查詢時都會出現錯誤:

SELECT DISTINCT
    idLogin, count(idLogin ) AS "cou" 
FROM 
   `products` AS t
GROUP BY 
    idLogin
HAVING 
    t.cou > 2

為什么會發生此錯誤

用這個

SELECT DISTINCT   idLogin, count(idLogin ) AS cou  FROM   `products` 
GROUP BY idLogin HAVING cou > 2

您可以將該表達式count(idLogin )直接放入 clouse....

它不會給出任何錯誤..並且也會更加不穩定....

否則你可以做一件事 -

select idLogin,cou from (
SELECT DISTINCT   idLogin, count(idLogin ) AS cou  
FROM   products 
GROUP BY idLogin ) t
where t.cou >2 

從別名列名稱中刪除雙引號。

MySQL 對 escaping 表名和列名使用單反引號,而不是雙引號。

相關名稱t沒有cou列。 只需使用這個:

HAVING cou > 2

PS: DISTINCT在您的查詢中是多余的。 GROUP BY確保每個不同的idLogin值只有一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM