0

有人可以帮助获得最近 6 个月的详细信息。尝试使用 stackoverflow 和 mysql 站点中已经提到的答案。但没有得到所需的输出。

我尝试了不同的组合。但不能。

mysql> select date from bo_rr;
+------------+
| date       |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-09-14 |
| 2013-09-14 |
| 2013-06-19 |
+------------+
6 rows in set (0.00 sec)

mysql> select date from bo_rr where date > date_sub(now(),interval 6 month);
+------------+
| date       |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-09-14 |
| 2013-09-14 |
| 2013-06-19 |
+------------+
6 rows in set (0.00 sec)

mysql> select date from bo_rr where date >= date_sub(now(),interval 6 month);
+------------+
| date       |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-09-14 |
| 2013-09-14 |
| 2013-06-19 |
+------------+
6 rows in set (0.00 sec)

mysql> select date from bo_rr where date < date_sub(now(),interval 6 month);
Empty set (0.00 sec)

mysql> select date from bo_rr where date <= date_sub(now(),interval 6 month);
Empty set (0.00 sec)

mysql> select date from bo_rr where date > date_sub(now(),interval -6 month);
Empty set (0.00 sec)

mysql> select date from bo_rr where date >= date_sub(now(),interval -6 month);
Empty set (0.00 sec)

mysql> select date from bo_rr where date < date_sub(now(),interval -6 month);
+------------+
| date       |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-09-14 |
| 2013-09-14 |
| 2013-06-19 |
+------------+
6 rows in set (0.00 sec)

mysql> select date from bo_rr where date <= date_sub(now(),interval -6 month);
+------------+
| date       |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-09-14 |
| 2013-09-14 |
| 2013-06-19 |
+------------+
6 rows in set (0.00 sec)
4

1 回答 1

2

由于您有未来的记录,您需要设置开始和结束边界条件。您可以方便地使用BETWEEN.

尝试

SELECT date 
  FROM bo_rr 
 WHERE date BETWEEN CURDATE() - INTERVAL 6 MONTH AND CURDATE()

或者

SELECT date 
  FROM bo_rr 
 WHERE date <= CURDATE() 
   AND date >= CURDATE() - INTERVAL 6 MONTH

输出:

+------------+
| 日期 |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-19 |
+------------+
于 2013-06-19T09:36:17.493 回答