mysql - 如何仅使用 mysql 获取过去 6 个月的数字(无 php)

标签 mysql

类似于:

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/

相关文章:

PHP - mySQL "like"查询不返回任何内容

如果列值中不存在分隔符,Mysql split_str 函数将返回空值

mysql - 如何修复 "Incorrect string value"错误?

PHP MySQL INSERT 由于唯一约束而失败

php - 在各自的仪表板中使用 session 用户角色重定向用户

php - 外键没有自动递增

mysql - 我安装了 phpMyAdmin,并跳过了输入密码的步骤,现在无法做太多事情

php - 使用上面目录中的index.php,但包含不同的内容

MySQL错误150,无法创建表

mysql - 选择基于邮政编码的记录,它是 MySQL 中的半径、纬度和经度