sql server按小時(shí)段分組查詢 如何才能用EXCEL去連接SQL數(shù)據(jù)庫讀取數(shù)據(jù)?
如何才能用EXCEL去連接SQL數(shù)據(jù)庫讀取數(shù)據(jù)?Excsql如何查詢明細(xì)賬及月計(jì)累計(jì)?其實(shí)這是一個(gè)很基礎(chǔ)的知識。下面的例子:DDL:創(chuàng)建表` TBL _ fin `( ` id ` bigint(20
如何才能用EXCEL去連接SQL數(shù)據(jù)庫讀取數(shù)據(jù)?
Exc
sql如何查詢明細(xì)賬及月計(jì)累計(jì)?
其實(shí)這是一個(gè)很基礎(chǔ)的知識。
下面的例子:
DDL:
創(chuàng)建表` TBL _ fin `( ` id ` bigint(20)unsigned NOT NULL AUTO _ INCREMENT,` fin_date` date缺省NULL,` TrueName` varchar(128)缺省NULL,` Money` decimal(10,2) unsigned缺省NULL,主鍵(` id`) ) ENGINEInnoDB缺省CHARSETutf8
插入一堆測試數(shù)據(jù):
插入; TBL _ fin ;值(1,2018-01-01,曉明,100.00)
插入到; TBL _ fin ; values(2,2018-01-01,曉明,100.00)
插入到; TBL _ fin ;值(3,2018-01-01,曉明,100.00)
插入到; TBL _ fin ; values(4,2018-01-02,曉明,100.00)
插入到; TBL _ fin ;值(5,2018-01-03,曉明,100.00)
插入到; TBL _ fin ; values(6,2018-01-05,小紅,100.00)
插入到; TBL _ fin ; values(7,2018-01-06,小紅,100.00)
插入到; TBL _ fin ; values(8,2018-01-08,小紅,100.00)
插入到; TBL _ fin ; values(9,2018-02-08,小紅,100.00)
插入入` tbl _ fin `值(10,2018-03-08,小紅,100.00)
插入到; TBL _ fin ; values(11,2018-04-08,小紅,100.00)
插入到; TBL _ fin ; values(12,2018-05-08,小紅,100.00)
插入到; TBL _ fin ; values(13,2018-06-08,小紅,100.00)
插入到; TBL _ fin ; values(14,2018-06-08,曉明,3.40)
插入到; TBL _ fin ; values(15,2018-06-08,曉明,398.49)
插入到; TBL _ fin ; values(16,2018-06-08,曉明,982.24)
插入到; TBL _ fin ; values(17,2018-06-08,曉明,715.72)
插入; TBL _ fin ;值(18,2018-05-08,曉明,631.88)
插入到; TBL _ fin ; values(19,2018-05-08,曉明,12.25)
插入到; TBL _ fin ; values(20,2018-05-08,曉明,165.59)
插入到; TBL _ fin ; values(21,2018-05-08,曉明,791.23)
插入到; TBL _ fin ; values(22,2018-04-08,曉明,459.35)
插入到; TBL _ fin ; values(23,2018-04-08,曉明,923.06)
插入到; TBL _ fin ; values(24,2018-04-08,曉明,237.28)
插入到; TBL _ fin ; values(25,2018-03-08,曉明,417.18)
插入到; TBL _ fin ; values(26,2018-03-08,曉明,374.10)
插入` tbl_fin` VA呂斯(27,2018年3月8日,小明,618.93)
插入到; TBL _ fin ; values(28,2018-03-08,曉明,972.37)
插入到; TBL _ fin ; values(29,2018-02-08,曉明,5.04)
插入; tbl _ fin ;值(30,2018-02-08,曉明,108.08)
插入; TBL _ fin ;值(31,2018-02-08,曉明,525.31)
插入到; tbl _ fin ;值中(32,2018-01-08,曉明,302.32)
插入到; TBL _ fin ; values(33,2018-01-08,曉明,935.65)
插入; tbl _ fin ;值(34,2018-01-08,曉明,771.28)
插入到; tbl _ fin ;值中(35,2018-01-09,曉明,49.48)
插入到; TBL _ fin ; values(36,2018-01-09,小紅,933.54)
插入到; TBL _ fin ; values(37,2018-01-09,小紅,519.26)
插入到; TBL _ fin ; values(38,2018-01-09,小紅,795.69)
插入到; TBL _ fin ; values(39,2018-01-09,小紅,420.67)
然后我們就可以進(jìn)入正題了。
獲取明細(xì)賬:1。根據(jù)用戶獲取每月日志的內(nèi)容:
假設(shè)一個(gè)用戶等于 "小明 "一個(gè)月等于 "2018-01 "。
Select * from TBL _ fin其中真名小明和date _ format (fin _ date,% y-% m)2018-01 order by fin _ date ASC。
其中,
真名小明的意思是用真名小明過濾記錄。
DATE_FORMAT(fin_date,%Y-%m)表示將fin_date的日期格式格式化,輸出為yyyy-mm。
按fin排序_date ASC是指記錄按照fin_date從小到大排序。
得到的結(jié)果是小明 2018年1月s詳解。
其次,是每月累計(jì)賬戶:假設(shè)你需要得到小明 每月賬單。
Select真名,sum (money) as money,date _ format (fin _ date,% y-%m) as date month from TBL _ fin其中真名小明group by concat(真名,date _ format (fin _ date,% y-%m)) order by date month ASC
SUM(Money) as Money的意思是數(shù)(加)錢的總數(shù)。
Date _ format (fin _ date,% y-%m)作為日期月,它將日期格式化為年和月。
Group by concat(真名,date _ format (fin _ date,% y-%m))這里需要反匯編一下才能理解。
(TrueName,date _ format (fin _ date,% y-%m))表示組合真實(shí)姓名和年、月、日的字符。
BY是指按此對統(tǒng)計(jì)數(shù)據(jù)進(jìn)行分組。
結(jié)果是小明 的每月累計(jì)賬單:
以上只是初步的SQL教程。測試環(huán)境是MYSQL 5.5.47,SQL Server的編寫不一樣。
另外,一般情況下,一般用于統(tǒng)計(jì)或篩選,建議加一個(gè)指數(shù)。尤其是金融的統(tǒng)計(jì)計(jì)算。