這裏是我使用的查詢:mysql where count(column_name)= 1?
SELECT k_id, COUNT(k_id) AS k_count
FROM template_keyword_link
WHERE k_id IN(1,2,3,4,5)
GROUP BY k_id;
該查詢返回類似
1 | 6
2 | 1
3 | 4
4 | 1
5 | 9
我想補充一些東西,如AND COUNT(k_id) = 1
所以我最終與
2 | 1
4 | 1
但是我無效使用一個組功能。
我該怎麼做呢?
更新:
另一部分我的問題是。
這可以用作刪除語句嗎?
像
DELETE FROM
template_keyword_link tkl
LEFT JOIN keywords k
ON tkl.k_id = k.k_id
WHERE tkl.k_id
IN(SELECT k_id, COUNT(k_id) AS k_count
FROM template_keyword_link
WHERE k_id IN(1,2)
GROUP BY k_id
HAVING k_count = 1);
我得到
你有一個錯誤的SQL語法;
因此,基於反饋我已經改變了這種使用
DELETE tkl, k FROM
template_keyword_link tkl
LEFT JOIN keywords k
ON tkl.k_id = k.k_id
WHERE tkl.k_id
IN(SELECT k_id
FROM template_keyword_link
WHERE k_id IN(1,2)
GROUP BY k_id
HAVING COUNT(k_id) = 1);
但是現在我越來越
您不能指定更新目標表「漳州燦坤」 FROM子句
您可以加入,讓你的錯誤的確切查詢? – JoshD 2010-09-28 01:06:54
你想要的是顯示ID,其數量爲1 – 2010-09-28 01:12:00