次の構造のMySQLテーブルがあります。
| uid | itemid
| -------------------
| 1001 | 9999
| 1001 | 8888
| 2002 | 8888
| ... | ...
uidとitemidが一意の列ではありません。Bun uid+itemid はユニークな組み合わせです。
itemidで行を数える必要があります。次のクエリを使用します。
SELECT itemid, COUNT(*)
FROM unlikes
WHERE itemid IN ('9999', '8888') GROUP BY itemid;
そして、これはうまくいきます!
次に、具体的な uid を持つ行を知る必要があります。私が使う:
SELECT itemid, COUNT(*), IF (uid = '1001', TRUE, FALSE) toggled
FROM unlikes
WHERE itemid IN ('9999', '8888') GROUP BY itemid;'
うまくいかない。itemid = 8888 の行が複数ある場合、トグル = FALSE よりも。グループ内のいずれかが uid = 1001 の場合は、toggled = TRUE が必要です。