我有一条sql语句正在尝试检索所有类似行的计数大于1的行。在所有这些行中,一个字段似乎保持空值。
情况1 :
假设表格名称是ABC
BUSINESS_UNIT,发票,标志
A 1(空)
A 1(空)
SQL语句:从TABLE ABC组中按COUNT(*)> 1的BUSINESS_UNIT,INVOICE,FLAG选择SELECT BUSINESS_UNIT,INVOICE,FLAG
我期望它不返回任何行,因为两个标志基本上都是空白的。但它返回
BUSINESS_UNIT,发票,标志
A 1(空)
情况2:
表ABC
BUSINESS_UNIT,发票,标志
A 1(空)
A 1(空)
B 1 1
B 1(无)
SQL语句:按COUNT(*)> 1的BUSINESS_UNIT,INVOICE,FLAG从TABLE ABC组中选择SELECT BUSINESS_UNIT,INVOICE,FLAG
我期望结果是
BUSINESS_UNIT,发票,标志
B 1 1
这是针对Oracle 11g的。有人可以帮忙吗,让我知道我们是否可以使用Oracle中提供的任何功能?
编辑原始sql语句后。
实际上,我应该从Group by中删除标志,然后选择并添加到计数中,以便为相似的行标识多个标志。
谢谢!
我想我已经找到了想要的东西。
选择BUSINESS_UNIT的TABLE ABC组中的BUSINESS_UNIT,INVOICE,COUNT(DISTINCT标志)> 1的INVOICE
情况1:不返回任何行
情况2:返回1行
BUSINESS_UNIT,发票
B 1
感谢Raphael,Dnoeth和Gordon在此方面的帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句