1

私は問題を抱えており、混乱しています。イベント用のテーブルがあり、その中には、作成された日時のタイムスタンプを保持する列があります。今月、先月、さらに先月の 2 か月前に作成されたすべてのイベント (行) を取得したいと考えています。というわけで、基本は4ヶ月。それらを別々に表示したいので、今月のすべての行のデータベースを1つのクエリで、前月の別のクエリなどで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 に答える