这是我正在使用的查询:
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 子句中指定目标表 'tkl' 进行更新