如何用sqlserver查看姓
select*fromtablenamewhereleft(stuname,1)in(Zhang,Chen,Huang)orderbystuname或select*fromtablenamewherestunamelikeZhang或stunamelikeCh
sql如何查詢明細賬及月計累計?
其實這是一個很基礎的知識。
下面的例子:
DDL:
創建表`TBL_fin`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENT,`fin_date`date缺省NULL,`TrueName`varchar(128)缺省NULL,`Money`decimal(10,2)unsigned缺省NULL,PRIMARYKEY(`id`))ENGINEInnoDB缺省CHARSETutf8
插入一堆測試數據:
插入;TBL_fin;值(1,2018-01-01,曉明,100.00)
插入到;TBL_fin;values(2,2018-01-01,曉明,100.00)
插入到;TBL_fin;values(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)
我Nsertinto`TBL_fin`values(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_f在;值(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)
然后我們就可以進入正題了。
獲取明細賬:1。根據用戶獲取每月日志的內容:
假設一個用戶等于"小明"一個月等于"2018-01"。
Select*fromTBL_fin其中真名小明和date_format(fin_date,%y-%m)2018-01orderbyfin_dateASC。
其中,
真名小明的意思是用真名小明過濾記錄。
DATE_FORMAT(fin_date,%Y-%m)表示將fin_date的日期格式格式化,輸出為yyyy-mm。
命令BYfin_dateASC表示根據fin_date將記錄從小到大排序。
得到的結果是小明2018年1月s詳解。
其次,是每月累計賬戶:假設你需要得到小明每月賬單。
Select真名,sum(money)asmoney,date_format(fin_date,%y-%m)asdatemonthfromTBL_fin其中真名小明groupbyconcat(真名,date_format(fin_date,%y-%m))orderbydatemonthASC
SUM(Money)asMoney的意思是數(加)錢的總數。
Date_format(fin_date,%y-%m)作為日期月,它將日期格式化為年和月。
Groupbyconcat(真名,date_format(fin_date,%y-%m))這里需要反匯編一下才能理解。
(TrueName,date_format(fin_date,%y-%m))表示組合真實姓名和年、月、日的字符。
BY是指按此對統計數據進行分組。
結果是小明的每月累計賬單:
以上只是初步的SQL教程。測試環境是MYSQL5.5.47,SQLServer的編寫不一樣。
另外,一般情況下,一般用于統計或篩選,建議加一個指數。尤其是金融的統計計算。