私が使用しているクエリは次のとおりです。
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' を指定することはできません