可以加個時間維度表,以時間維度表為主表!(id,month)id 是和你的表左連接,month是1到12月,一樓說的幾個方法!應(yīng)該不好實現(xiàn)的吧?不用寫存儲過程那么復(fù)雜!舉個例子
公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出龍圩免費(fèi)做網(wǎng)站回饋大家。
select a.rq,
b.xssr
from date_table a left jion table1 b
on a.id=b.id
SELECT COUNT(*) FROM `table` GROUP BY FROM_UNIXTIME(time,'%Y');
SELECT COUNT(*) FROM `table` GROUP BY FROM_UNIXTIME(time,'%m');
SELECT COUNT(*) FROM `table` GROUP BY FROM_UNIXTIME(time,'%d');
上面分別是按年,月,日來分組的,我不知道你的時間存儲的是什么類型,我這個是按時間戳來的。
select
table.year,
table.month,
table.day
from
(SELECT
year(time) year,
month(time) month,
day(time) day
FROM
table) table
group by table.year,table.month,table.day
order BY table.year,table.month,table.day desc;
望采納,有疑問或是有更好寫法,請多交流
您好,一、年度查詢
查詢 本年度的數(shù)據(jù)
SELECT *
FROM blog_article
WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))
二、查詢季度數(shù)據(jù)
查詢數(shù)據(jù)附帶季度數(shù)
SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) )
FROM `blog_article`
其他的同前面部分:查詢 本季度的數(shù)據(jù)
SELECT *
FROM blog_article
WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))
三、查詢月度數(shù)據(jù)
本月統(tǒng)計(MySQL)
select * from booking where month(booking_time) =
month(curdate()) and year(booking_time) = year(curdate())
本周統(tǒng)計(MySQL)
select * from spf_booking where month(booking_time) =
month(curdate()) and week(booking_time) = week(curdate())
四、時間段
N天內(nèi)記錄
WHERE TO_DAYS(NOW()) - TO_DAYS(時間字段) = N
當(dāng)天的記錄
where date(時間字段)=date(now())
或
where to_days(時間字段) = to_days(now());
查詢一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) = date(column_time);
查詢一個月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) = date(column_time);
查詢'06-03'到'07-08'這個時間段內(nèi)所有過生日的會員:
Select * From user Where
DATE_FORMAT(birthday,'%m-%d') = '06-03' and DATE_FORMAT(birthday,'%m-%d')
= '07-08';
統(tǒng)計一季度數(shù)據(jù),表時間字段為:savetime
group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))
或
select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1,count(*)
from yourTable
group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;
五、分組查詢
1、年度分組
2、月度分組
3、先按年度分組,再按月度分組
4、按年月分組
SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate FROM `blog_article` group by sdate
結(jié)果:
count( ArticleId ) sdate
17 0901
11 0902
5 0903
6 0904
2 0905
1 0907
12 0908
6 0909
11 0910
3 0911