1

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

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

编辑:表结构是这样的。

Title  | Uri  | created

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

编辑 2

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

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

这似乎对我有用,我只会通过我想要从 php 获得的行的月份,这对我来说更容易......哈哈

再次感谢大家的回答,感谢。这个地方很棒

4

2 回答 2

0
Select * From your_table Group By Month(column_with_date);

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

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

于 2012-05-13T12:01:55.680 回答
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)
于 2012-05-13T12:02:21.093 回答