首页 > 解决方案 > 使用条件 AND 从 COUNT 中查找重复记录和折扣的 SQL 查询

问题描述

我正在使用下面的 SQL 查询来计算记录。得到计数后,我想打折重复的 testID。

例子:

select count (*) from PRODUCT MP
   join PRODUCT_UOM pu on pu.PRODUCT_KEY = mp.PRODUCT_KEY
   join UOM u on u.UOM_ID = pu.UOM_ID
   join PRODUCT_BARCODE pb on pb.PRODUCT_UOM_KEY = pu.PRODUCT_UOM_KEY

查询选择 * 时的 excel 数据如下所示:

在此处输入图像描述

我想打折 TESTID AND NAME 重复的记录。

总数 = 6 - 2 = 4

我知道我可以使用不同的查询,但我不确定如何使用 2 列创建条件,当重复时不要计算它们。

标签: sqljoingroup-bycount

解决方案


您可以重复使用现有的查询。例如:

select count(*) from (
  select distinct testid, name 
  from PRODUCT MP
  join PRODUCT_UNIT pu on pu.PRODUCT_KEY = mp.PRODUCT_KEY
  join UNITu on u.UNIT_ID = pu.UNIT_ID
  join PRODUCT_BAR pb on pb.PRODUCT_UNIT_KEY = pu.PRODUCT_UNIT_KEY
) x

您现有的查询充当表表达式,但您替换COUNT(*)DISTINCT TESTID, NAME.


推荐阅读