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

如何在此语句中使用 count(*)?我得到所有行的 1

4

3 回答 3

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 

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

于 2012-09-07T09:06:02.183 回答
0

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

于 2012-09-07T09:29:19.587 回答
0

如果您想检索所有记录的总数,只需删除即可GROUP BYGROUP BY基本上将Barcode彼此分组,这就是为什么你只得到一个 eact 计数barcode

在此处输入图像描述

于 2012-09-07T09:07:54.957 回答