簡體   English   中英

將SQL查詢分組為季度結果

[英]Group sql query into quarterly results

我正在嘗試將一組結果分組為季度結果。 到目前為止,我已經設法提出了該查詢,該查詢按月顯示視圖:

SELECT DATE_FORMAT(post_date, '%b-%y') AS Month, SUM(views) AS Views
FROM $table
WHERE `property_id` = $property_id
GROUP BY DATE_FORMAT(post_date, '%b-%y')
ORDER BY `post_date` ASC

...這給了我如下數據:

Month   Views
Jan-16  331
Feb-16  390
Mar-16  431
Apr-16  430
May-16  364
Jun-16  360
Jul-16  459
Aug-16  356
Sep-16  530
Oct-16  435
Nov-16  376
Dec-16  362

我不確定如何對它們進行分組,以便包括三個月在內的那個季度末的觀點和產出進行統計。 例如,使用上面的數據:

Month   Views
Mar-16  1152
Jun-16  1154
Sep-16  1345
Dec-16  1173

任何建議表示贊賞,謝謝。

更新感謝Thorsten Kettner解決了這個問題。 我還將以下內容添加到他的解決方案中,以按月格式獲取我需要的列,如下所示:

SELECT DATE_FORMAT(MAX(post_date), '%b-%y') AS Month, QUARTER(post_date), SUM(views) AS Views
FROM $table
WHERE property_id = $property_id
GROUP BY YEAR(post_date), QUARTER(post_date) 
ORDER BY YEAR(post_date), QUARTER(post_date)

可以用月份數的整數除法來計算季度:

 
 
 
  
  SELECT YEAR(post_date), (MONTH(post_date) - 1) DIV 3 + 1 as quarter, SUM(views) AS Views FROM $table WHERE property_id = $property_id GROUP BY YEAR(post_date), (MONTH(post_date) - 1) DIV 3 + 1 ORDER BY YEAR(post_date), (MONTH(post_date) - 1) DIV 3 + 1;
 
  

正如Khalid Junaid先生所說:為此,存在一個函數QUARTER

SELECT YEAR(post_date), QUARTER(post_date), SUM(views) AS Views
FROM $table
WHERE property_id = $property_id
GROUP BY YEAR(post_date), QUARTER(post_date) 
ORDER BY YEAR(post_date), QUARTER(post_date);

暫無
暫無

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

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