4
我有以下SQL:如何填寫缺失的月份?
SELECT STRFTIME('%m', date) ord,
CASE STRFTIME('%m', date) WHEN '01' THEN 'January'
WHEN '02' THEN 'Febuary'
WHEN '03' THEN 'March'
WHEN '04' THEN 'April'
WHEN '05' THEN 'May'
WHEN '06' THEN 'June'
WHEN '07' THEN 'July'
WHEN '08' THEN 'August'
WHEN '09' THEN 'September'
WHEN '10' THEN 'October'
WHEN '11' THEN 'November'
WHEN '12' THEN 'December'
ELSE '' END AS month,
count(*) AS count
FROM events
WHERE type='Birth' AND
date <> ''
GROUP BY month,ord
ORDER BY ord
這使我有類似的結果:
ord month count
01 January 1
02 Febuary 1
03 March 3
05 May 4
07 July 2
08 August 2
09 September 2
11 November 4
但你可以看到它有差距。有沒有辦法用0計數來填補遺漏的月份?
嘗試使用這個作爲例子:http://stackoverflow.com/a/17916567/342740 – Prix
這是多麼相似問題在TSQL中解決:http://codecorner.galanter.net/2011/08/29/tsql-filling-missing-date-range/不確定SQLite的功能,但我認爲類似的邏輯可以實現。 –