在oracle sql中按多列分组后匹配行
如何在具有多个列的group by之后查询OWS 下表如下:在oracle sql中按多列分组后匹配行,sql,oracle,group-by,Sql,Oracle,Group By,如何在具有多个列的group by之后查询OWS 下表如下: ord_num | loc | void | pay_type ----------------------- 10 | a101 | Y | CR 10 | a101 | N | AB 10 | a101 | N | CH 11 | a102 | N | CR 11 | a102 | Y | CR 12 | a103 | Y | JK 13 |
ord_num | loc | void | pay_type
-----------------------
10 | a101 | Y | CR
10 | a101 | N | AB
10 | a101 | N | CH
11 | a102 | N | CR
11 | a102 | Y | CR
12 | a103 | Y | JK
13 | a104 | N | CR
13 | a104 | Y | JK
14 | a104 | Y | CR
我需要带有ord_num、loc的行,其中pay_类型仅包含“CR”
我期待下面的查询结果:
ord_num | loc
------------------
11 | a102
14 | a104
select distinct ord_ num, loc
from yourTable
where pay_type = 'CR'
select ord_num, loc
from table
group by ord_num, loc
having max(pay_type) = min(pay_type) and max(pay_type) = 'CR'