如何在mysql中仅获取最近6个月的详细信息 [英] How to get only last 6 months details in mysql
本文介绍了如何在mysql中仅获取最近6个月的详细信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以帮忙获取仅过去6个月的详细信息吗?尝试了在stackoverflow和mysql站点中已经提到的答案.但是没有得到所需的输出.
Can someone please help to get only last 6 months details. Tried with the answers which already mentioned in stackoverflow and mysql site. But didnt get the required output.
我尝试了不同的组合.但不能.
i tried with different combinations. but couldnt.
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)
推荐答案
由于您有将来的记录,因此需要同时设置开始和结束边界条件.您可以方便地使用 BETWEEN
.
Since you have future records you need to set both start and end boundary conditions. You can conveniently do so with 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
输出:
+------------+
| date |
+------------+
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-14 |
| 2013-06-19 |
+------------+
这篇关于如何在mysql中仅获取最近6个月的详细信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文