sql - 使用条件 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 列创建条件,当重复时不要计算它们。
解决方案
您可以重复使用现有的查询。例如:
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
.
推荐阅读
- android - 具有固定纵横比的 ConstraintLayout 链
- perl - 在linux上自动替换主机密钥
- api - linkedin "此应用程序不允许创建应用程序令牌"
- javascript - CSS 将相似项目设置为与屏幕上最高项目相同的高度
- python-3.x - 切换音乐开/关 Kivy
- c++ - 检查 nullptr 导致 CTD
- java - UnsatisfiedDependencyException java.lang.IllegalArgumentException:查询方法公共抽象 java.util.Optional 的验证失败
- azure - 如何为 Azure Log Analytics 启用自定义日志?
- python - 如何将从日期中提取的小时转换为小时+(以小时为单位的日期)?
- powerbi - Power BI 传递参数以报告