我在SQL Server中有如下表格。
| Process_ID | 流程型別 | 011 | P1 | 012 |
|---|---|---|
| P1 | P1 | 013 |
| P2 | P2 | |
| P2 | 014 | |
| P2 |
我想得到流程型別P2和P3的流程ID的計數。我已經使用了如下的查詢:
select count(Process_ID) as Process_Count, Process_Type
from Process_Table
where Process_type in ('P2'/span>,'P3'/span>)
group by Process_Type;
結果顯示:
| Process_Count | 行程型別|
|---|---|
| 2 | P2 |
但我需要像:
| Process_Count | 行程型別4 | P2_and_P3 |
|---|
誰能幫助我如何將在SQL in條件和group by子句下使用的結果相加,并在輸出中顯示它?
預先感謝你。
uj5u.com熱心網友回復:
如果你真的只想要那個單記錄的結果集,那么就放棄GROUP BY子句:
SELECT COUNT(Process_ID) AS Process_Count。'P2_and_P3' AS Process_Type
FROM yourTable
WHERE Process_Type IN ('P2', 'P3') 。
如果你也許想查看所有的行程型別組,但是把P2和P3放在一起,那么就使用CASE運算式進行聚合:
SELECT
CASE WHEN Process_Type IN ('P2'/span>, 'P3'/span>)
THEN 'P2_and_P3' ELSE Process_Type END As Process_Type,
COUNT(Process_ID) AS Process_Count
FROM yourTable
GROUP by
CASE WHEN Process_Type IN ('P2'/span>, 'P3'/span>) THEN 'P2_and_P3' ELSE Process_Type END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/314802.html
標籤:
