如何按月获取mysql行

如何按月获取mysql行,mysql,rows,Mysql,Rows,我遇到了问题,我很困惑。我有一个事件表,其中有一列保存创建日期时间的时间戳。我想获取本月、上个月以及上个月前两个月创建的所有事件(行)。基本上是4个月。我想分别显示它们,这样我就可以在一个查询中查询本月所有行的数据库,在上个月的另一个查询中,依此类推4个月。问题是我不知道该怎么做。mysql中有一个month()函数,但我不知道如何使用它 任何帮助都将不胜感激。谢谢 编辑:表结构是这样的 Title | Uri | created Event | Event| 1337782223 na

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

任何帮助都将不胜感激。谢谢

编辑:表结构是这样的

Title  | Uri  | created

Event  | Event| 1337782223
name   | uri  |  
.......
编辑2

谢谢大家的帮助。。 我自己和我的朋友谷歌都试过了……:) 我用过这个

SELECT * FROM `events` WHERE MONTH(FROM_UNIXTIME(created)) = $month;
这对我来说似乎很有效,我将通过这个月谁的行我想从php这对我来说更容易…哈哈

再次感谢大家的回答,非常感谢。这个地方太棒了

Select * From your_table Group By Month(column_with_date);
当然,表中必须有一个timestamp列

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

$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"));
你可以得到过去的月份,只需对当前月份做负数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)

可能需要从timestamp到datetime进行一些转换,但类似这样的转换是可行的。是的,但是一个查询中有一个月,另一个查询中有一个月。不要忘记,这个月只返回月份。如果你想按年度分开,你也需要按年度分组。所以2011-06年不会和2012-06年混淆。你是对的。将在年中添加另一个Where子句。感谢您希望结果看起来如何?很简单,我希望在一个查询中显示本月创建的所有行,在另一个查询中显示上个月创建的所有行,依此类推4个月。上个月的情况如何?我们可以使用类似这样的方法从您的\u表组中按月选择*(列\u,带\u日期)-1;是的,然后您需要从您的表中选择*,其中DATE\u SUB(CURDATE(),间隔1个月)