SQL报告如何计算符合特定条件的记录数

Osc*_*mez 1 sql oracle pivot aggregate-functions

假设您有一个表,例如:

id   status  date
-----------------------
1    2       today
2    3       today
3    3       yesterday
4    2       yesterday
5    1       yesterday
Run Code Online (Sandbox Code Playgroud)

并且您希望查询计算给定日期的状态为1,2或3的数字或结果,在示例中,所需的结果集将为:

date        status 1   status 2  status 3 
            count      count     count 
------------------------------------------
today       0          1         1
yesterday   1          1         1
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?谢谢.

Tho*_*mas 5

Select Date
    , Sum( Case When Status = 1 Then 1 Else 0 End ) Status1Count
    , Sum( Case When Status = 2 Then 1 Else 0 End ) Status2Count
    , Sum( Case When Status = 3 Then 1 Else 0 End ) Status3Count
From MyTable
Group By Date
Run Code Online (Sandbox Code Playgroud)