簡體   English   中英

MySQL查詢沒有返回正確的百分比

[英]mysql query not returning correct percentage

我有一個表,我試圖獲取帶有日期子句的選擇結果。 按列分組,計算另一列的總數,然后計算出與分組列關聯的計數的百分比。

ID | 延遲類型 延遲時間|延遲時間

1 | 類型1 | 2 | 2015-01-10

2 | type2 | 3 | 2015-01-10

3 | type2 | 1 | 2015-02-10

4 | type2 | 1 | 2015-01-10

因此,對一月份的查詢應該給我:類型1 = 33.3%類型2 = 66.6%

到目前為止,我的查詢是:

$result = mysqli_query($con, "SELECT Delaytype, SUM(`Delayhours`) / (SELECT Sum(Delayhours)) 
        * 100 as cnt FROM delays  WHERE YEAR(Delaydate) = '".$yearly."' AND MONTH(Delaydate) = '".$month."' GROUP BY Delaytype; ");

但是我為每個Delaytype得到100%的結果

預先感謝您的任何幫助。

不能看到我可以在哪里擺桌子,所以我對格式表示歉意。

SELECT 
    DelayType,
    SUM(Delayhours) AS Delaytotal,
    ROUND(
        100*(
          SUM(Delayhours) / 
          (
              SELECT SUM(Delayhours) 
              FROM dummy 
              WHERE 
                  Delaydate >= '2015-01-01' AND
                  Delaydate < '2015-02-01'
          )
        ), 
        2
    ) AS Delaypercents
FROM dummy
WHERE 
    Delaydate >= '2015-01-01' AND 
    Delaydate < '2015-02-01'
GROUP BY Delaytype

抓住小提琴:)

PS感謝Used_By_Already提供了新的詳細信息。

暫無
暫無

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

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