簡體   English   中英

如何獲得特定行的計數

[英]How to get count of a particular row

我有包含Id,Date和Status的表,即打開/關閉,我只想在sql中包含按月打開,關閉和Id的總計數的結果,例如,在一月打開計數15,關閉計數5和總計數20

使用RollUp()和分組依據,如下所示:

;WITH T AS
(
    SELECT
        Id,     
        DATENAME(MONTH,[Date]) AS [MonthName],          
        Status
    FROM @tblTest
)
SELECT
    [MonthName],
    [Status],
    StatusCount
FROM
(
    SELECT
        MonthName,
        CASE ISNULL(Status,'') WHEN '' THEN 'Total' ELSE Status END AS Status,          
        Count(Status) AS StatusCount                        
    FROM T
    GROUP BY ROLLUP([MonthName],[Status])
)X
WHERE X.MonthName IS NOT NULL
ORDER BY X.[MonthName],X.[Status]

輸出:

在此處輸入圖片說明

注意:如果需要的數據按月單行顯示,則應用PIVOT

select year(date), month(date), 
       sum(case when status = 'open' then 1 else 0 end) as open_count,
       sum(case when status = 'closed' then 1 else 0 end) as closed_count,
       count(*) as total_count
from your_table
group by year(date), month(date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM