有两处有笔误,如果结果不同的话,需要检查一下,先对比下总金额,再对比各个的销售额,再检查姓名是否完全一致,EXCEL中经常有前后空格或是不容易显示出来的字符会有影响,用select 月份,姓名,sum(销售数量*产品单价) from 表格 group by 月份,姓名
例如:
select
月份,
sum (case when 销售人员='姓名1' then 销售数量*产品单价 else 0 end) as 姓名1销售额,
sum (case when 销售人员='姓名2' then 销售数量*产品单价 else 0 end) as 姓名1销售额,
sum (case when 销售人员='姓名3' then 销售数量*产品单价 else 0 end) as 姓名1销售额
from 表格
group by 月份,销售人员
注意事项
case when有用两种用法如下:
用法一:
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
用法二:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
关于使用sql语句sum(case when??)来实现分类汇总功能
sum (case when 销售人员='姓名1' then 销售数量*产品单价 else 0 end) as 姓名1销售额,sum (case when 销售人员='姓名2' then 销售数量*产品单价 else 0 end) as 姓名1销售额,sum (case when 销售人员='姓名3' then 销售数量*产品单价 else 0 end) as 姓名1销售额 from 表格 group b...
关于使用sql语句sum(cas来实现分类汇总功能
在SQL中,使用CASE语句实现分类汇总功能是常见的需求。当需要对比检查数据时,首先确保总金额与预期一致,其次逐个检查每个分类的销售额,同时留意可能存在的姓名格式问题,如前后空格或隐藏字符。一个示例SQL查询如下:sql SELECT 月份,SUM(CASE WHEN 销售人员 = '姓名1' THEN 销售数量 * 产品单价 ELSE ...
sql 分类汇总查询语句
sum(case zt when '01' then 1 else 0 end) as 个数01状态,sum(case zt when '02' then 1 else 0 end) as 个数02状态,count(zt) as 总数 from 表名 group by dept 这段代码是sqlserver和oracel通用,其中“表名”的地方,换成你的表名 喔看掉了这个条件:我现在想统计01、02两种...
可不可以用一条SQL语句查询多人各自成绩的总和?
查询多人各自成绩的总和sql语句如下:select name,SUM(score)from test2 group by name 按姓名分组,查看每个学生的优良中差统计:SELECT sname, count(snum) 总数,sum(case when snum<60 then 1 else 0 end) AS 不合格,sum(case when snum>=60 AND snum<70 then 1 else 0 end) AS 中,...
怎么用SQL语句对表【收支表】进行分类汇总?
CREATE TABLE TB (说明 NVARCHAR(20),类别 NVARCHAR(20),金额 INT ,款项类别 NVARCHAR(20)) INSERT INTO dbo.TB ( 说明, 类别, 金额, 款项类别 )VALUES ( N'项目A', -- 说明 - nvarchar(20) N'支出', -- 类别 - nvarchar(20) 900, -- 金额 - int N'费用B' ...
关于使用sql语句sum(case when……)来实现分类汇总功能
sum (case when 销售人员='姓名1' then 销售数量*产品单价 else 0 end) as 姓名1销售额,sum (case when 销售人员='姓名2' then 销售数量*产品单价 else 0 end) as 姓名1销售额,sum (case when 销售人员='姓名3' then 销售数量*产品单价 else 0 end) as 姓名1销售额 from 表格 group ...