我有MySQL的表结构:Mysql的COUNT和IF使用
| 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,我需要切换= TRUE;
替换'IF(UID = '1001',TRUE,FALSE)'由'总和(情况下,当UID = '1001',那么1否则为0)' – danihp