如何按月获取mysql行

时间:2012-05-13 11:56:37

标签: mysql rows

我遇到了问题,我很困惑。我有一个事件表,其中有一列保存创建日期时的时间戳。我想获得在本月,上个月以及上个月之前的2个月创建的所有事件(行)。所以,基本上是4个月。我想单独显示它们,我可以认为我可以在一个查询中查询本月所有行的数据库,在上个月查询另一个查询,依此类推4个月。问题是我不知道我该怎么做。在mysql中有一个month()函数,但我迷路了,不知道如何使用它。

非常感谢任何帮助。感谢

编辑:表格结构是这样的。

Title  | Uri  | created

Event  | Event| 1337782223
name   | uri  |  
.......

编辑2

感谢大家的帮助.. 我自己和我的朋友google尝试了... :) 我用过这个

SELECT * FROM `events` WHERE MONTH(FROM_UNIXTIME(created)) = $month;

这似乎对我有用,我只会通过这个月我想从php那些行对我来说更容易... lol

再次感谢所有人对你的回答表示感谢。这个地方太棒了

2 个答案:

答案 0 :(得分:0)

Select * From your_table Group By Month(column_with_date);

当然,您的表格中必须有一个时间戳列。

如果没有,则插入条目时无法恢复信息。

答案 1 :(得分:0)

$month = '5,4,3,2';
select colum_name from table_name where month(table_field_name) IN ($thismonth) Group By month(table_field_name)

如果您每月使用单独的查询,请尝试此操作

$todayDate = date("Y-m-d");
$thismonth = strtotime($todayDate);
 $previous_month =  mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));

你可以过去几个月只做减去NUMBER ex -2,-3 .....当月?

select colum_name from table_name where month(table_field_name) = month ($thismonth) AND year(table_field_name) = year ($thismonth)  Group By month(table_field_name);

上个月

 select colum_name from table_name where month(table_field_name) = month ($previous_month ) AND year(table_field_name) = year ($thismonth) Group By month(table_field_name)