温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL-Serve查询多条件聚合

发布时间:2020-04-07 23:52:58 来源:网络 阅读:533 作者:lk442634939 栏目:关系型数据库

1、创建表单内容,添加数据

--创建一个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

SQL-Serve查询多条件聚合


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

SQL-Serve查询多条件聚合

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放在最后面。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI