类似于:
SELECT MONTH(*date?*)
FROM
//Not sure what goes here
LIMIT 0,6
我知道它很简单,但我想知道如何获取过去六个月的列表,以防我需要加入它。如果获取过去的数据并使用:
IFNULL(data, 0)
最佳答案
select month(DATE_SUB(now(), INTERVAL 6 MONTH)) month_6,
month(DATE_SUB(now(), INTERVAL 5 MONTH)) month_5,
month(DATE_SUB(now(), INTERVAL 4 MONTH)) month_4,
month(DATE_SUB(now(), INTERVAL 3 MONTH)) month_3,
month(DATE_SUB(now(), INTERVAL 2 MONTH)) month_2,
month(DATE_SUB(now(), INTERVAL 1 MONTH)) month_1
输出
month_6 month_5 month_4 month_3 month_2 month_1
9 10 11 12 1 2
如果您希望它包含当前月份,则只需从 5 开始,然后转到 0,而不是从 6 到 1。
如果您想要行,请执行以下操作:
select month(DATE_SUB(now(), INTERVAL 6 MONTH))
union select month(DATE_SUB(now(), INTERVAL 5 MONTH))
union select month(DATE_SUB(now(), INTERVAL 4 MONTH))
union select month(DATE_SUB(now(), INTERVAL 3 MONTH))
union select month(DATE_SUB(now(), INTERVAL 2 MONTH))
union select month(DATE_SUB(now(), INTERVAL 1 MONTH))
输出
9
10
11
12
1
2
关于mysql - 如何仅使用 mysql 获取过去 6 个月的数字(无 php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846276/