[英]Using of unique column name for each primary and foreign keys in mysql table to avoid ambiguous condition
[英]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.