php查詢最近30天、7天、天天、昨天、上個月的記錄

一些變量說明:
add_time爲插入的時間
to_days是sql函數,返回的是個天數
data_sub(date,INTERVAL expr type)給指定的日期減去多少天
data()函數返回日期或日期/時間表達式的日期部分。
curdate()函數返回當前的日期 y-m-d
data_format 用於以不一樣的格式顯示日期/時間數據
period_diff(p1,p2)返回週期P1和P2之間的月數。 P1和P2格式爲YYMM或YYYYMM。注意週期參數 P1 和 P2 都不是日期值
一、查詢今天的全部記錄:
    (1)add_time字段,該字段爲int(5)類型的
        select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());
    (2)add_time字段是DATETIME類型或者TIMESTAMP類型的
        select * from `article` where to_days(`add_time`) = to_days(now());
二、查詢昨天的全部記錄
    select * from `article` where to_days(now()) <= 1 + to_days(`add_time`);
三、近7天的信息記錄:
    select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
四、近30天的信息記錄:
    select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
五、查詢本月的記錄
    select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
六、上一個月的記錄
    select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;
相關文章
相關標籤/搜索