所有周(52)我該怎麼讓SQL顯示本年度
我有此查詢的所有周(52)在當前年:
SELECT
COALESCE(IF(DATE_FORMAT(q.date_add, '%Y-%u') IS NULL,
(DATE_FORMAT(q.date_add, '%Y-%u')),
DATE_FORMAT(q.date_add, '%Y WEEK %u'))) AS CurrentDate,
COALESCE(IF(SUM(q.totalExcl) IS NULL,
0,
SUM(q.totalExcl))) AS total
FROM
expoled.ps_oxoquotation_quotationstate_history h
RIGHT JOIN
expoled.ps_oxoquotation_quotation q ON h.idQuotation = q.idQuotation
LEFT JOIN
expoled.ps_employee e ON h.idEmployee = e.id_employee
INNER JOIN
expoled.ps_sv_employee_meta m ON h.idEmployee = m.id_employee
WHERE
h.idEmployee = 39
AND YEAR(q.date_add) = YEAR(UTC_TIMESTAMP())
AND h.idQuotationState = 3
GROUP BY IFNULL(CurrentDate, '')
我想我需要做的這裏有些東西:
SELECT
IFNULL(DATE_FORMAT(q.date_add, '%Y WEEK %u'), 0) AS CurrentDate,
IFNULL(SUM(q.totalExcl),0) AS total
FROM
我已經tryed把IFNULL但給了我同樣的結果
這就是我得到現在:
從5顯示當前周至16周 還有什麼在1周,直到第4周,因爲在沒有數據和那裏需要顯示只是一個簡單的零(0)
所以,我要的是它需要顯示標準從1周,直到52周,如果沒有數據只是0
查詢工作,現在沒有任何錯誤。
星期總是一個有趣的。你在說什麼幾個星期?既然你說52,我認爲你的意思是ISO周? – Jens
是ISO周滿52周 – Deniz
IFNULL(DATE_FORMAT(q.date_add,'%Y WEEK%u')),0)使用此 – Jenish