我需要在此查询中取得结果。

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/

10-16 22:57