sql server按小时段分组查询 如何才能用EXCEL去连接SQL数据库读取数据?
如何才能用EXCEL去连接SQL数据库读取数据?
Exc
sql如何查询明细账及月计累计?
其实这是一个很基础的知识。
下面的例子:
DDL:
创建表` 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
插入一堆测试数据:
插入; 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)
然后我们就可以进入正题了。
获取明细账:1。根据用户获取每月日志的内容:
假设一个用户等于 "小明 "一个月等于 "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从小到大排序。
得到的结果是小明 2018年1月s详解。
其次,是每月累计账户:假设你需要得到小明 每月账单。
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的意思是数(加)钱的总数。
Date _ format (fin _ date,% y-%m)作为日期月,它将日期格式化为年和月。
Group by concat(真名,date _ format (fin _ date,% y-%m))这里需要反汇编一下才能理解。
(TrueName,date _ format (fin _ date,% y-%m))表示组合真实姓名和年、月、日的字符。
BY是指按此对统计数据进行分组。
结果是小明 的每月累计账单:
以上只是初步的SQL教程。测试环境是MYSQL 5.5.47,SQL Server的编写不一样。
另外,一般情况下,一般用于统计或筛选,建议加一个指数。尤其是金融的统计计算。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。