T-SQL备忘(2):聚合函数运算和NULL

我们看表的数据:

而select AVG(Age) from Member1的结果为27。自己算一下就知道136/6 =22.666。而不是27,因此知道实际上Age为NULL的行没有参与运算。即:

136/5=27.2。所以聚合运算会自动剔除NULL的列。那么处理办法是:

select AVG(ISNULL(AGE,0)) from Member1

或者

SELECT SUM(Age)/COUNT(*) FROM Member1

时间: 2024-10-13 02:40:46

T-SQL备忘(2):聚合函数运算和NULL的相关文章

sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值

采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; using System.Data; using Microsoft.SqlServer.Server; using System.Data.SqlTypes; using System.IO; using System.Text; [Serializable] [Microsoft.SqlServer

Postgresql,常用sql备忘

1.查看所有表的名称 Postgresql,greeplum,如果数据库在几千里以外,数据量巨大,网速不好,使用pgadmin客户端,那么你大部分时间都要浪费在等在中... 使用pgadmin的query是个不错的选择,但是,怎么才能知道表名呢,这丫真没mysql好用—— SELECT tablename FROM pg_tables where tablename not like 'gp%' and tablename not like 'gp%' and tablename not lik

SQL Server的各种聚合函数

聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下: 1. AVG 返回指定组中的平均值,空值被忽略. 例:select prd_no,avg(qty) from sales group by prd_no 2. COUNT 返回指定组中项目的数量. 例:select count(prd_no) from sales 3. MAX 返回指定数据的最大值. 例:select prd_

2、SQL基础整理(聚合函数)

聚合函数 --求平均 select  AVG(age) as 年龄 from xuesheng select AVG(chinese) as 语文 from xuesheng where class = 1 *只能对数字类型的进行操作 --求个数 select COUNT(*) from xuesheng/*查询表中有多少条数据*/ select COUNT(*) from xuesheng where name like '王%' select COUNT(distinct class) fr

T-SQL 聚合函数Count与NULL

大家都知道聚合函数是做统计用的,而count函数是统计行数的,也就是满足一定条件记录的行数. 下面我们来看下这个count与NULL的微妙关系. CREATE TABLE dbo.Student ( Sno int null ,Name nvarchar(23) ) INSERT INTO dbo.Student(Sno,Name)VALUES(1,'Jesse'); INSERT INTO dbo.Student(Sno,Name)VALUES(2,'Jessca'); INSERT INTO

一些性能查询的SQL 备忘

--检查数据库的等待事件 from v$session_waitwhere event not like 'SQL%' and event not like 'rdbms%' --找出系统中耗时的操作select b.username username,a.disk_reads reads,       a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions)           rds_exec_ratio,   

Sql Server系列:聚合函数

1. SUM SUM是一个求和函数,返回指定列值的总和.SUM 只能用于数字列. 其中忽略 Null 值. 语法: SUM ( [ ALL | DISTINCT ] expression ) OVER ( [ partition_by_clause ] order_by_clause ) 示例: SELECT SUM([UnitsInStock]) FROM [dbo].[Product] SELECT SUM(DISTINCT([UnitsInStock])) FROM [dbo].[Prod

数据统计SQL备忘

1.统计9月注册角色首次充值时的游戏时长分布(分钟,人数),单位:分钟 SELECT sub.minutes,        Count(roleId) AS count FROM   (SELECT pr.roleId,                Timestampdiff(MINUTE, Max(player_login.logTime), pr.logTime)                + Ifnull(Max(player_logout.totalOnlineMins), 0)

一.oracle的SQL中group by使用的情况(与聚合函数的关系)

SELECT r.industry_1,r.industry_2,r.agent_id,r.agent_name,COUNT(DISTINCT r.customer_name_a)数据总量,COUNT(DISTINCT CASE WHEN r.ifhs='Y' THEN r.customer_name_a END)海关数据量,COUNT(DISTINCT CASE WHEN r.ifgjh='Y'THEN r.customer_name_a END)广交会数据量,COUNT(DISTINCT C