0

つまり、次のようなテーブルがある場合:

id | time        | name
1  | 1354382314  | test1
2  | 1374769114  | test2
3  | 1322759914  | test3

たとえば、1 週間前、1 か月前、または 1 年前に作成されたレコードを選択する方法は? mysql関数でのみ可能ですか、それともどうすればできphpますか?

4

3 に答える 3

1

タイムスタンプは常に増加する数値であるため、要求された範囲の開始スタンプと終了スタンプを単純に計算して、

WHERE `time` >= 'startstamp' AND `time` <= 'endstamp'

1 週間前のスタンプを取得するには、php 関数を使用できますstrtotime("-1 week")。月などと同様。

現在のスタンプが必要な場合は、 を使用してtime()ください。

于 2013-08-02T16:36:57.313 に答える
1
select id,time,name from your_table where (current_timestamp-time)>7*24*60*60;

7*24*60*60 は 1 週間を表します

于 2013-08-02T16:48:38.613 に答える
1

mysql関数でも可能だと思います

お気に入り、

select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 YEAR))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))
于 2013-08-02T16:40:21.317 に答える