如何在PHP MySQL中逐月选择数据

时间:2015-01-07 10:02:06

标签: php mysql sql select

我已将数据存储在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个月的数据

5 个答案:

答案 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是datetimetimestamp列,这也有效。

答案 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-%;