给定一个SQL表
Transactions
ID INT
COMPANY_ID INT
STATUS INT
Run Code Online (Sandbox Code Playgroud)
where STATUS IN (0,1)表示一个免费交易,并STATUS IN (2,3)指示一个可计费交易,简单(我希望)ANSI SQL语句将告诉我,可COMPANY_ID计费交易的数量,不可计费交易及其比率?
如果不是特定的陈述,正确方向的概念刺激是好的.我的第一次尝试是使用WHERE两个状态组的子句自行加入表格,但我仍然坚持如何获得一个代表每个不同计数的列,以便我可以计算比率.
这在概念上与汇总数据非常相似,但我不确定如何将这个问题扩展到这个问题.
这是一个开始,我认为这是沿着正确的方向......唯一剩下的就是增加比率.
SELECT
COMPANY_ID,
NON_BILLABLE = SUM(CASE STATUS WHEN IN (0, 1) THEN 1 ELSE 0 END),
BILLABLE = SUM(CASE STATUS WHEN IN (2, 3) THEN 1 ELSE 0 END)
FROM TRANSACTIONS
GROUP BY COMPANY_ID
Run Code Online (Sandbox Code Playgroud)
编辑:符合标准.
SELECT
COMPANY_ID,
SUM(CASE STATUS WHEN IN (0, 1) THEN 1 ELSE 0 END) AS NON_BILLABLE,
SUM(CASE STATUS WHEN IN (2, 3) THEN 1 ELSE 0 END) AS BILLABLE
FROM TRANSACTIONS
GROUP BY COMPANY_ID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |