sqlserver sum 和count在关于进行统计时的区别

    sum是对内容的数量进行相加,count 对表行数 对象进行统计

在使用 case 时,如

select subject,
count(case when score>80 then score else null end) 优,
count(case when score<80 and score>59 then score else null end) 优,
count(case when score<60 then score else null end) 优
from stuscore group by [subject]

select * from stuscore

select subject,
sum(case when score>80 then score else 1 end) 优,
sum(case when score<80 and score>59 then score else 1end) 优,
sum(case when score<60 then score else 1end) 优
from stuscore group by [subject]

select * from stuscore

这个时候 对sum 进行返回的是1,而对count 返回的是一列(null),或者说是一个行对象进行对数量的统计

时间: 2024-08-08 13:59:25

sqlserver sum 和count在关于进行统计时的区别的相关文章

sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数

sql的统计函数 sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值 但注意sum(1)就特殊 sum(1)等同于count(*) sum(1)统计个数,功能和count(*)一样,但效率上count(*)高.所以尽量少用. 举个小例子 SELECT ad_network_id,,sum(1),count(*),sum(2),count(5) from mapping_table_analytics GROUP BY ad_network_id 运行结果为: 3

SQL语句中SUM与COUNT的区别

SUM是对符合条件的记录的数值列求和 COUNT 是对查询中符合条件的结果(或记录)的个数 例如: 表fruit id     name    price 1     apple     3.00 2     pear       4.00 select count(price) from fruit; ----执行之后结果为:2  (表示有2条记录) select  sum(price) from fruit;---执行之后结果为:7:00(表示各记录price字段之和为7.00) SQL语句

Sqlserver 远程连接的 TCP/IP 和 Named Pipes的区别

TCP/IP:  TCP/IP是 Internet 上广泛使用的通用协议.它与互连网络中硬件结构和操作系统各异的计算机进行通信.TCP/IP包括路由网络流量的标准,并能够提供高级安全功能.它是目前在商业中最常用的协议.将计算机配置为使用 TCP/IP可能会很复杂,但大多数联网的计算机已经配置正确.若要配置未在 SQL Server 配置管理器中出现的 TCP/IP 设置,请参阅Microsoft Windows 文档.  Named Pipes:  Named Pipes 是为局域网而开发的协议

sum over用法,以及与group by的区别

1.sum over用法 sum(col1) over(partition by col2 order by col3 ) 以上的函数可以理解为:按col2 进行分组(partition ),每组以col3 进行排序(order),并进行连续加总(sum) 表a,内容如下: B   C  D 02 02 1 02 03 2 02 04 3 02 05 4 02 01 5 02 06 6 02 07 7 02 03 5 02 02 12 02 01 2 02 01 23 执行:SELECT   b

创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo

机房收费系统完成了,但是我是在笔记本上敲得,没有实现异地发布,结局只能是被PASS掉了~回来重新导出自己的数据库到台式机上,由于我笔记本装的SQL和台式机版本是不一样的,所以遇到一些问题,具体解决方法请参考博客:http://blog.csdn.net/mascf/article/details/38644759 导出脚本成功但是新建数据库又出现问题,新建过程中出现如下问题: (但是忘记截图,关键词如下) 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transac

创建数据库失败((Microsoft.SqlServer.Smo))执行Transact-SQL语句或批处理时发生了异常。

房收费系统完成了,但是我是在笔记本上敲得,没有实现异地发布,结局只能是被PASS掉了~回来重新导出自己的数据库到台式机上,由于我笔记本装的SQL和台式机版本是不一样的,所以遇到一些问题,具体解决方法请参考博客:http://blog.csdn.net/mascf/article/details/38644759 导出脚本成功但是新建数据库又出现问题,新建过程中出现如下问题: (但是忘记截图,关键词如下) 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact

SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题

原文:SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题 本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是性能问题(实在不想说出来这句话:UNION ALL比UNION快)其实根本不想炒UNION和UNION ALL这碗剩饭了,每次看到网上说用这个不用那个,列举的一条一条的那种文章,只要看到说U

[CareerCup] 18.4 Count Number of Two 统计数字2的个数

18.4 Write a method to count the number of 2s between 0 and n. 这道题给了我们一个整数n,让我们求[0,n]区间内所有2出现的个数,比如如果n=20,那么满足题意的是2, 12, 20,那么返回3即可.LeetCode上有一道很类似的题Factorial Trailing Zeroes,但是那道题求5的个数还包括了因子中的5,比如10里面也有5,这是两题的不同之处.那么首先这题可以用brute force来解,我们对区间内的每一个数字

sqlzoo练习答案--SUM and COUNT

World Country Profile: Aggregate functions This tutorial is about aggregate functions such as COUNT, SUM and AVG. An aggregate function takes many values and delivers just one value. For example the function SUM would aggregate the values 2, 4 and 5