首先你的數(shù)據(jù)庫要有一個日期的字段代表該條記錄的操作的時間
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安陽,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
然后這樣寫
sql="select * from XX where Month(dtThetime)=10"
(注:dtThetime是你數(shù)據(jù)庫里存放時間的字段名稱)
sql=sql " and Month(dtThetime)=8"
解:Month是vbscript中用來提取月的函數(shù)返回一個1-12之間的整數(shù)
下面以比較流行的mysql圖形化管理工具Navicat為例,其他工具或者在命令行中以及編程語言中操作時的執(zhí)行的sql語句是一樣的。
1、假設(shè)在數(shù)據(jù)庫中有一個名為testtest的表格,表格內(nèi)容如下圖所示,表中有三條記錄是9月份的
2、打開一個查詢窗口,輸入查詢語句select * from?testtest?where month(date)='9';,該語句表示查詢testtest表格中9月份的記錄
3、點擊“運行”執(zhí)行該sql語句,在下方可以看到已經(jīng)查詢到了9月份的三條記錄
4、如需按年查詢可輸入select * from?testtest where year(date)='2017';,2017代表需要查詢的年份。如下圖所示只查詢到了一條記錄是2017年的
里上圖 表 aaa, ?要按月份查找,a 出現(xiàn)的次數(shù),代碼如下
SELECT
CAST(YEAR(rq)??as?varchar)?+?'-'?+?CAST(MONTH(rq)??as??varchar)??AS??date,
count(*)??AS?'次數(shù)'
FROM?aaa
where?a="a"
GROUP?BY
CAST(YEAR(rq)??as?varchar)?+?'-'?+?CAST(MONTH(rq)??as??varchar);
結(jié)果如下圖,看看是不是你要的
第一種方法用left join,?把月份顯示出來,沒有相應(yīng)月份的時候,也會顯示月份對應(yīng)的列,但是值為空
第二種方法用臨時表,建立2個字段,一個字段用來標(biāo)注月份,另外一個字段標(biāo)注統(tǒng)計值,先把12個月全部寫進去,然后用指針對12個月進行統(tǒng)計,把結(jié)果填入到對應(yīng)月份的統(tǒng)計結(jié)果中,如果為空就填0
一、打開MySQL工具,我用的是Navicat Premium
二、新建查詢,輸入sql命令
舉例如下:
分組查詢
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
其他方法參考:
我想做一個統(tǒng)計,數(shù)據(jù)庫是mysql,統(tǒng)計出每天,每周,每月的記錄數(shù)
建表的時候加個字段表示日期,然后查sql手冊...
select count(*) from `table` where `date`='{某天}'
select count(*) from `table` where date_format(`date`,'%V')='{某周}'
select count(*) from `table` where date_format(`date`,'%c')='{某月}'
另一種方法:
select count( * ) from projects where editdate = '2007-11-9 00:00:00' and editdate =
'2007-11-9 24:00:00';
第三種方法:
每周的
SQL codeselect count(*) as cnt,week(editdate) as weekflg from projects where year(editdate)
=2007 group by weekflg
每月
SQL codeselect count(*) as cnt,month(editdate) as monthflg from projects where year
(editdate)=2007 group by monthflg
每天
SQL codeselect count(*) as cnt from projects group by date(editdate)
mysql中DATE_FORMAT(date, format)函數(shù)可根據(jù)format字符串格式化日期或日期和時間值date,返回結(jié)果
串。
也可用DATE_FORMAT( ) 來格式化DATE 或DATETIME 值,以便得到所希望的格式。根據(jù)format字符串格式
化date值:
下面是函數(shù)的參數(shù)說明:
%S, %s 兩位數(shù)字形式的秒( 00,01, . . ., 59)
%i 兩位數(shù)字形式的分( 00,01, . . ., 59)
%H 兩位數(shù)字形式的小時,24 小時(00,01, . . ., 23)
%h, %I 兩位數(shù)字形式的小時,12 小時(01,02, . . ., 12)
%k 數(shù)字形式的小時,24 小時(0,1, . . ., 23)
%l 數(shù)字形式的小時,12 小時(1, 2, . . ., 12)
%T 24 小時的時間形式(hh : mm : s s)
%r 12 小時的時間形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名稱( Sunday, Monday, . . ., Saturday)
%a 一周中每一天名稱的縮寫( Sun, Mon, . . ., Sat)
%d 兩位數(shù)字表示月中的天數(shù)( 00, 01, . . ., 31)
%e 數(shù)字形式表示月中的天數(shù)( 1, 2, . . ., 31)
%D 英文后綴表示月中的天數(shù)( 1st, 2nd, 3rd, . . .)
%w 以數(shù)字形式表示周中的天數(shù)( 0 = Sunday, 1=Monday, . . ., 6=Saturday)
%j 以三位數(shù)字表示年中的天數(shù)( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 為周中的第一天
%u 周(0, 1, 52),其中Monday 為周中的第一天
%M 月名(January, February, . . ., December)
%b 縮寫的月名( January, February, . . ., December)
%m 兩位數(shù)字表示的月份( 01, 02, . . ., 12)
%c 數(shù)字表示的月份( 1, 2, . . ., 12)
%Y 四位數(shù)字表示的年份
%y 兩位數(shù)字表示的年份
%% 直接值“%”
where 是篩選條件,怎么還用 as 你把 as 去掉后再試啊
下列語句是篩選當(dāng)月數(shù)據(jù)
S1.END_WEIGHT_DATE AS '成交日期' ,
WHERE DATE_FORMAT(S1.END_WEIGHT_DATE, '%Y%m') = DATE_FORMAT(now(), '%Y%m')