SQL-Serve查询多条件聚合
1、创建表单内容,添加数据
目前创新互联已为上1000+的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、贺州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
--创建一个a表 CREATE TABLE a( --设置name字段,属性varchar NAME VARCHAR(255), --设置ERP字段,属性varchar ERP VARCHAR(255), --设置DATE字段,属性date DATE DATE, --设置name1字段,属性varchar NAME1 VARCHAR(255), --设置amount 字段,属性int amount int ) INSERT a SELECT '张三','餐费','2019-12-11','中行','100' union all SELECT '张三','礼品','2019-12-01','中行','100' union all SELECT '张三','礼品','2019-11-12','中行','60' union all SELECT '张三','礼品','2019-12-12','美行','60' union all SELECT '张三','12','2019-12-12','中行','100' union all SELECT '李四','餐费','2019-12-12','中行','50' union all SELECT '王五','礼品','2019-12-12','中行','60'
2、查询反馈所有内容信息
SELECT * from a
3、根据多条件进行聚合汇总
--查询 select --查看name字段,并设置别名 姓名 name as '姓名', --添加一个 餐费字段,并且设置别名 费用类型 '餐费' as '费用类型', --查看date字段,并设置别名 月份 CONVERT(char(7),date,120) as '月份', --查看name1字段,并设置别名客户 名称 name1 as '客户名称', --查看 统计amount字段,并且命名 金额 SUM(a.amount) as '金额' --从表a查看 from a --设置查询条件 where --查询条件一、查询name为张三的返回值 name='张三' --and进行连接多个条件 AND --查询条件而、查询 ERP等于礼品或者餐费 (ERP='礼品' or ERP='餐费') --连接条件 AND --条件三,查询时间大于2019-12-01 date >= '2019-12-01' --条件四,结合聚合函数,根据一个或者多个列对结果集进行分组,group by a,b,c的用法: --先按照a分组,如果a相同,再按照b分组,如果b相同,再按照c分组。最终统计的是最小分组的信息。 group by name,CONVERT(char(7),date,120),name1
4、小结
首先where 条件,再 group by 条件、再 order by 条件
如果声明了 GROUP BY 子句,输出就分成匹配一个或多个数值的不同组里。 如果出现了 HAVING 子句,那么它消除那些不满足给出条件的组。
如果声明了 ORDER BY 子句,那么返回的行是按照指定的顺序排序的。 如果没有给出 ORDER BY,那么数据行是按照系统认为可以最快生成的方法给出的。
虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下:
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
可以在查询之间使用 UNION 运算符,以将查询的结果组合成单个结果集。
也就是说,order by放在最后面。
网站标题:SQL-Serve查询多条件聚合
本文来源:http://scyanting.com/article/iggdic.html