当前位置:首页 » 编程语言 » sql分组之后求和列数太多怎么办
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql分组之后求和列数太多怎么办

发布时间: 2022-07-03 09:30:38

A. sql语句 如何分组后得到记录总数

SELECT COUNT(*)

FROM (SELECT 分组字段 FROM 表

GROUP BY 分组字段

)别名


或者

SELECT COUNT(*)

FROM (SELECT distinct 分组字段 FROM 表)别名

(1)sql分组之后求和列数太多怎么办扩展阅读:

SQL分组查询

在SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)

在分组查询中还可以配合使用HAVING子句,定义查询条件。

使用group by进行分组查询

在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:

1、被分组的列

2、为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数

3、group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

B. 如何用sql语句sum求和多列的值

select sum( 使命感+团队意识+工作能力+学习力+组织原则 ) where name='白浩' and 评价人='lichunlong'

C. SQL 多列分别求和问题,请高手指教

先构造这个表的需求列求和的查询SQL,再执行SQL。如:
Declare @Result varchar(2000),
@SQL nvarchar(2000),
@DBName nvarchar(100), @TableName Varchar(255) = '表'
Set @SQL = 'Select @Result = @Result + ''Sum('' + s.name + '')''+ '' As '' + s.name + '', '' From '
+ 'sys.columns s, sys.tables t
Where s.object_id = t.object_id And t.name = @TableName'
Exec sp_executesql @SQL, N'@Result varchar(2000) output, @DBName varchar(50),
@TableName varchar(255)', @Result output, @DBName, @TableName
If @Result <> ''
Begin
Set @Result = ' Select ' + Left(@Result, Len(@Result) - 1) + ' From ' + @TableName
Exec(@Result)
End

D. 多列分组求和 sql

select 人员,sum(总金额1),sum(总金额2),sum(总金额3) from table group by 人员

E. sql分组求和

1、使用having对分组结果进行过滤,一般情况下having是放在group by的后面。

F. SQL中字段(列)按条件求和,字段数(列数)不定

这个还是上道题的一个延伸吧,你用车间分组,
然后和那个地方第可以用sum(case when 1月(这个是字段名) is null then 0 else 1月(字段名) end)一月总计,写12个,就可以了。
另外用sum值然后判断是否为空写零应该也可以。

G. sql 多列字段同时求和

这是标准的分组查询,用group by 就可以了:
select 字段1,字段2,字段3, sum(字段4),sum(字段5),sum(字段6) from 表 group by 字段1,字段2,字段3

看你下一百分,再告诉你个知识点:
表table
name course source
张三 语文 90
张三 数学 80
李四 语文 80
李四 数学 75

要得到结果:
name chinese math average
张三 90 80 85
李四 80 75 77.5

利用case when 分类查询语句为:
select name,max(case course when '语文' then source else 0 end)as chinese,
max(case course when '数学' then source else 0 end)as math,
avg(source) as average
from table group by name

测试通过
希望你能掌握这两个常用关键字

H. sql中分组取值及求和的问题

我想查询一段时间内,利润的总和,根据表只需要显示出厂额,销售额,和利润每项值显示这期间的总和就可以,我现在的结果是显示每天的,我只想要这些天的这三个项的总和就可以

代码是查询2天的出现了第一天和第二天的每条信息,查询几天就分别显示几条,

I. SQL 分组多列统计的问题

这个直接查询不太好查,建议自己写个存储过程或者函数来做。
比如求那个符合率,求两张表的临床字段的条目总数,然后把是的也求出来,相除就得出符合率了。