**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
11个月前关门了。
改进这个问题
我使用下面的sql查询来统计记录。我想在拿到票后把复制的睾丸打折扣。
例子:
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和name重复的记录打折扣。
总计数=6-2=4
我知道有明确的查询,我可以使用,但我不知道如何使条件与2列,当重复,然后不计算他们。
3条答案
按热度按时间jm2pwxwz1#
一些数据库(即mysql)支持
count(distinct)
,所以你可以:请注意,您应该用列名所属的表限定列名,以使查询更清楚并避免歧义。另一种选择是连接列并使用
count(distinct)
. 您需要选择一个分隔符,该分隔符不会出现在要连接的字符串中,以避免“假”重复:你也可以使用
distinct
在子查询中,然后count()
:dgsult0t2#
可以重用现有查询。例如:
现有查询充当表expresison,但您需要替换
COUNT(*)
由DISTINCT TESTID, NAME
.u1ehiz5o3#
如果只是
count
这对你来说很重要GROUP BY
在TESTID, NAME
然后计算查询中的行数,如下所示: