按条款使用分组
GROUP BY CLAUSE USE
我的 table 有不同的付款方式类型:支票、汇票、现金。我需要显示不同付款类型的细目,以下是我的查询。谁能建议或评论如何以最佳方式做到这一点。
select
COUNT(T3.PAY_METHOD),
T1.CLAIM_ID
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T3.PAYMENT_METHOD_CD
以下是输出列应该看起来
|CHECK|MONEY ORDER|CASHIER'S CHECK|CASH|CREDIT CARD|
显示通过 CHECK 收到的应用于特定 LIABLE INDIVIDUAL 的所有付款的总数。
sql 将是:
select T3.PAY_METHOD
, COUNT(T3.PAY_METHOD) records
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T3.PAY_METHOD
您可以使用应用程序代码来格式化输出。
如果您确实需要将输出作为列,那么您将需要使用 SUM(case when method = '' then 0 else 1 end) 类型的解决方案。像这样。
select t1.claim_id,
sum(case when t3.pay_method = 'CASH' then 1 else 0 end) as "CASH",
sum(case when t3.pay_method = 'MONEY ORDER' then 1 else 0 end) as "MONEY ORDER",
sum(case when t3.pay_method = 'CHECK' then 1 else 0 end) as "CHECK",
T1.CLAIM_ID
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T1.CLAIM_ID
但是,如果您只希望将它们逐行显示,那就简单多了。
select T1.CLAIM_ID, T3.PAY_METHOD, COUNT(*)
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T1.CLAIM_ID, T3.PAY_METHOD
我的 table 有不同的付款方式类型:支票、汇票、现金。我需要显示不同付款类型的细目,以下是我的查询。谁能建议或评论如何以最佳方式做到这一点。
select
COUNT(T3.PAY_METHOD),
T1.CLAIM_ID
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T3.PAYMENT_METHOD_CD
以下是输出列应该看起来
|CHECK|MONEY ORDER|CASHIER'S CHECK|CASH|CREDIT CARD|
显示通过 CHECK 收到的应用于特定 LIABLE INDIVIDUAL 的所有付款的总数。
sql 将是:
select T3.PAY_METHOD
, COUNT(T3.PAY_METHOD) records
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T3.PAY_METHOD
您可以使用应用程序代码来格式化输出。
如果您确实需要将输出作为列,那么您将需要使用 SUM(case when method = '' then 0 else 1 end) 类型的解决方案。像这样。
select t1.claim_id,
sum(case when t3.pay_method = 'CASH' then 1 else 0 end) as "CASH",
sum(case when t3.pay_method = 'MONEY ORDER' then 1 else 0 end) as "MONEY ORDER",
sum(case when t3.pay_method = 'CHECK' then 1 else 0 end) as "CHECK",
T1.CLAIM_ID
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T1.CLAIM_ID
但是,如果您只希望将它们逐行显示,那就简单多了。
select T1.CLAIM_ID, T3.PAY_METHOD, COUNT(*)
from TB1 T3
JOIN TB2 T2 ON T3.CLAIM_ID = T2.CLAIM_ID
GROUP BY T1.CLAIM_ID, T3.PAY_METHOD