我需要在此查询中取得结果。
Select count(*) from users where cardnumber IN (1,2,3,1,2);
在表用户中;
Username cardnumber
A 1
B 2
C 3
我需要将结果设为“ 5”,因为我希望查询次数是“ 1”的2倍。原因; IN中有两个“ 1” ...但是我得到的结果只有“ 3”,因为在“ 1,2,3”之后它不再计算为“ 1,2”。我希望我能解释。我怎样才能做到这一点?谢谢
最佳答案
我认为这些sql对您有用。请检查一下。
SELECT COUNT(*) FROM users a RIGHT JOIN
(SELECT '1' AS cardnumber
UNION ALL
SELECT '2'
UNION ALL
SELECT '3'
UNION ALL
SELECT '1'
UNION ALL
SELECT '2') b ON a.cardnumber = b.cardnumber
谢谢。
关于mysql - 如何数数在mysql中的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30891299/