也許在開發(fā)的時候我們會頭疼需要統(tǒng)計各種報表數(shù)據(jù),mysql語句寫的都是超長超復雜的,那么總有解決的辦法,現(xiàn)在小編就給大家分享一些比較基礎的sql關于時間方面的統(tǒng)計知識。
現(xiàn)在假設有這樣一張訂單數(shù)據(jù)表:
CREATE?TABLE?`order`?(???? ?`id`?int(11)?unsigned?NOT?NULL?AUTO_INCREMENT,???? `order_sn`?varchar(50)?CHARACTER?SET?utf8?NOT?NULL?DEFAULT?''?COMMENT?'訂單編號,保證唯一',???? `create_at`?int(11)?NOT?NULL?DEFAULT?'0'?COMMENT?'創(chuàng)建時間',???? ?`success_at`?int(11)?NOT?NULL?DEFAULT?'0'?COMMENT?'訂單完成時間',???? ?`creator_id`?varchar(50)?CHARACTER?SET?utf8?NOT?NULL?DEFAULT?''?COMMENT?'訂單創(chuàng)建人',???? PRIMARY?KEY?(`id`),???? UNIQUE?KEY?`uni_sn`?(`order_sn`),???? ?)?ENGINE=InnoDB?AUTO_INCREMENT=1?DEFAULT?CHARSET=utf8mb4?COLLATE=utf8mb4_unicode_ci?COMMENT='訂單表';
現(xiàn)在以如上表為例查詢相關的數(shù)據(jù):
查詢今天所有已完成的訂單編號:?
SELECT?`order_sn`?FROM?`order`?WHERE?YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d'))?=?date_format(now(),'%Y-%m-%d');
查詢當前這周所有已完成的訂單編號:?
SELECT?`order_sn`?FROM?`order`?WHERE?YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d'))?=?YEARWEEK(now());
查詢上周所有已完成的訂單編號:
SELECT?`order_sn`?FROM?`order`?WHERE?YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d'))?=?YEARWEEK(now())-1;
查詢當前月份所有已完成的訂單編號:
select?`order_sn`?from?`order`?where?FROM_UNIXTIME(success_at,'%Y-%m')=date_format(now(),'%Y-%m');
查詢上個月份所有已完成的訂單編號:
select?`order_sn`?from?`order`?where?FROM_UNIXTIME(success_at,'%Y-%m')=date_format(DATE_SUB(curdate(),?INTERVAL?1?month),'%Y-%m');
查詢距離當前現(xiàn)在6個月已完成的訂單編號:
select?`order_sn`?from?`order`?where?FROM_UNIXTIME(success_at,'%Y-%m-%d?%H:%i:%s')?between?date_sub(now(),interval?6?month)?and?now();
查詢本季度所有已完成的訂單編號:
select?`order_sn`?from?`order`?where?QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(now());
查詢上季度所有已完成的訂單編號:
select?`order_sn`?from?`order`?where?QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(DATE_SUB(now(),interval?1?QUARTER));
查詢本年所有已完成的訂單編號:
select?`order_sn`?from?`order`?where?YEAR(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=YEAR(NOW());
查詢上年所有已完成的訂單編號: ?
select?`order_sn`?from?`order`?where?year(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=year(date_sub(now(),interval?1?year));
以上內容就是mysql查詢報表時間的相關教程,希望對大家有幫助。
相關推薦:
? 版權聲明
文章版權歸作者所有,未經(jīng)允許請勿轉載。
THE END