簡體   English   中英

SQL查找百分比

[英]SQL- finding percentages

我需要幫助找出有關此SQL問題的查詢-

查找最近12個月內每個州(狀態)每月在其SLA中處理的索賠的百分比。

謝謝!

Id   **l** ClaimID **l** StatusID **l**      CreatedDate        **l** CreatedBy
===========================================================================
1174 **l**   977   **l**    1     **l** 2018-06-01 18:01:31.387 **l**     1
---------------------------------------------------------------------------
1175 **l**   978   **l**     1    **l** 2018-06-01 18:01:31.387 **l**     1
---------------------------------------------------------------------------
1176 **l**   979   **l**    1     **l** 2018-06-01 18:01:31.387 **l**     1
---------------------------------------------------------------------------
1177 **l**   980   **l**     1    **l** 2018-06-01 18:01:31.403 **l**     1
---------------------------------------------------------------------------
1178 **l**   981   **l**     1    **l** 2018-06-01 18:01:31.403 **l**     1
---------------------------------------------------------------------------

你可以試試看。

   SELECT 
    StatusID
   ,count(StatusID) AS CountOfGroupedStatusIDs
   ,sum(count(*)) OVER() AS TotalAmountOfItems
   ,100.00 * count(StatusID) / sum(count(*)) OVER() AS Perc

  FROM Table

  WHERE CreatedDate BETWEEN DATEADD(month, DATEDIFF(month, 0, DATEADD(MONTH, -12, GETDATE())), 0) AND GETDATE()

  GROUP BY StatusID

它按statusID /狀態分組,然后對每個組計數多少個狀態,並在表中進行全部計數,然后根據這些值創建百分比。

WHERE子句僅顯示FROM TODAY減去12個月,但是設置了開始日期過濾器,以使該月從第1天開始而不是從今天起的12個月(例如第27天)開始。

如果您想將其更改為從今天起12個月。 這將是:

WHERE CreatedDate BETWEEN DATEADD(MONTH, -12, GETDATE()) AND GETDATE()

暫無
暫無

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

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