标签归档:sum同count

mssql sqlserver 使用sum计算个数的例子分享


下文讲述一次使用sum优化count统计方法的例子分享,如下所示:
实验环境:sql server 2008 r2


下文讲述一次使用count统计数据例子的方法分享,如下所示:

   ---优化前:
 select 
  a.sortName, 
  (select count(*) from detail where sortName=a.sortName and flag='A'  ) as [ACount], 
  (select count(*) from detail where sortName=a.sortName and flag='B'  ) as [BCount],
  (select count(*) from detail where sortName=a.sortName and flag='C'  ) as [CCount],
  (select count(*) from detail where sortName=a.sortName                    ) as [CountAll] 
  from 
  sortMain as a

  ---优化后:
    select  
   a.sortName, 
  sum(case b.flag when 'A' then 1 else 0 end ) as ACount, 
  sum(case b.flag when 'B' then 1 else 0 end ) as BCount, 
  sum(case b.flag when 'C' then 1 else 1 end)  as CCount 
    sum(1) as CountAll 
from 
  sortMain a, detail b 
where  b.sortName=a.sortName 

相关阅读:
多列数据进行求和sum计算
数据和sum结果一起
sum使用if进行按条件汇总
sum函数计算后的结果中包含null的处理方法
sum求和函数简介
sum(1)、count(*) 效率对比分析
sum(1)、sum(2)、count(1)、count(8)、count(*)、统计函数应用区别简介
数据库中sum和count用法区别说明
sql脚本对数据表所有行和列值求和的方法

mssql sqlserver数据库中sum和count用法区别说明


摘要:
下文通过举例的形式说明sum和count的区别,如下所示:
实验环境:sqlserver 2008 R2



一、sum和count函数功能说明

sum:
用于字段值求和,忽略字段值为null
count:
用于符合条件的行数计算,忽略行记录为null


二、sum和count函数区别及举例说明

sum可以代替count进行行数统计,但是count在行数统计的效率上比sum高
例:

表 test
keyId     info        qty

1           轮胎       9

2          机油       10

select count(qty) from test; ----输出结果为2 代表附和条件的有2行数据

select  sum(qty) from test;   --- 输出结果为19 代表qty两行记录相加等于19

相关阅读:
多列数据进行求和sum计算
数据和sum结果一起
sum使用if进行按条件汇总
sum函数计算后的结果中包含null的处理方法
sum计算个数的例子分享
sum求和函数简介
sum(1)、count(*) 效率对比分析
sum(1)、sum(2)、count(1)、count(8)、count(*)、统计函数应用区别简介
sql脚本对数据表所有行和列值求和的方法

mssql sqlserver sql脚本中sum、count函数大白话篇


摘要:
下文采用通俗易懂的方式讲述sum count聚合函数的区别
实验环境:sqlserver 2008 R2


sum、count函数的区别:
1.功能不同
sum(表达式):对表达式中的值进行求和计算
count(表达式):对表达式中的值进行求行计算
2.对null空值处理
sum(表达式):忽略表达式中的nul值
count(表达式):表达式中的值为null,则不统计此行
例:

    create table test(A int)
go

insert into test(A)values(5), 
(2),(null) 
go

 select sum(A) as [sum],
 count(A) as [count] from test 
 
go
truncate table test
drop     table test 
------ 输出----
 7   2 
mssql_sqlserver_count_sum大白话篇

mssql_sqlserver_count_sum大白话篇