我已将数据存储在MySQL
数据库中,日期如下所示。
pageview_date
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
2015-01-07
我如何按月SELECT
数据?我的意思是1月,12月,11月的所有数据......分开?
如何设置WHERE
部分?
我想以编程方式每个月从今天获取最近6个月的数据
答案 0 :(得分:6)
如果你想要所有月份的数量使用以下SQL
SELECT
count(*) as month_count,
MONTHNAME(pageview_date),
YEAR(pageview_date),
FROM
TABLE_NAME
GROUP BY
MONTH(pageview_date),YEAR(pageview_date)
如果您想分开数据
SELECT
*
FROM
TABLE_NAME
WHERE
MONTH(pageview_date) = {Month Value} AND YEAR(pageview_date) = {Year Value}
E.g。
SELECT * FROM TABLE_NAME WHERE MONTH(pageview_date) = 1 AND YEAR(pageview_date) = 2014
SELECT * FROM TABLE_NAME WHERE MONTH(pageview_date) = 2 AND YEAR(pageview_date) = 2014
答案 1 :(得分:2)
SELECT ....
WHERE pageview_date >= '2014-01-01' AND pageview_date < '2014-02-01'
那会让你一月份。
即使pageview_date是datetime
或timestamp
列,这也有效。
答案 2 :(得分:2)
从your_table中选择* 其中yourdate_column&gt; DATE_SUB(now(),INTERVAL 6 MONTH)
答案 3 :(得分:0)
SELECT * FROM TABLE_NAME WHERE MONTHNAME(pageview_date) = 'December';
SELECT * FROM TABLE_NAME WHERE MONTHNAME(pageview_date) = 'April';
...
希望有所帮助:)
答案 4 :(得分:0)
我认为像查询会帮助你请尝试这个
SELECT column_name
FROM table_name
WHERE column_name LIKE %-$month-%;