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 分组多列统计的问题
这个直接查询不太好查,建议自己写个存储过程或者函数来做。
比如求那个符合率,求两张表的临床字段的条目总数,然后把是的也求出来,相除就得出符合率了。