mysql查詢最近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、查詢今天的所有記錄:
    (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());
2、查詢昨天的所有記錄
    select * from `article` where to_days(now()) = 1 + to_days(`add_time`);
3、近7天的信息記錄:
    select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
4、近30天的信息記錄:
    select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
5、查詢本月的記錄
    select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
6、上一個月的記錄
    select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM