这里是我使用的查询: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