如何在mysql中使用count(*)WHERE IN

时间:2012-09-07 09:04:22

标签: mysql sql

SELECT COUNT(*) FROM `product` where barcode in (681155,
681144,
681145,
681146,
681147,
681148,
688123,
688124,
688125,
688126) GROUP BY(barcode);

如何对此语句使用count(*)?所有行都得到1

3 个答案:

答案 0 :(得分:2)

尝试:

SELECT COUNT(*) FROM `product` 
where barcode in
 (681155,
681144,
681145,
681146,
681147,
681148,
688123,
688124,
688125,
688126) 

这将从表格中获得总计数

使用GROUP BY时,每个组都需要计数。

SELECT barcode ,COUNT(*) FROM `product` 
    where barcode in (....)
Group by barcode 

如果您获得所有行的一个,那么您的表包含不同的条形码

答案 1 :(得分:0)

如果要检索所有记录的总计数,请删除GROUP BYGROUP BY基本上将Barcode彼此分组,这就是为什么您只获得一次e barcode

的计数

enter image description here

答案 2 :(得分:0)

从查询中删除GROUP BY(条形码)并运行。它应该适合你。