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…
采用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…
聚合函数是对一组值执行计算并返回单一的值的函数,它经常与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_…
测试数据:create table test1 as select * from dba_objects where rownum<=10000;--10000条记录create table test2 as select * from dba_objects;--13438条记录 分析执行计划:SQL1:SQL> select * 2 from test 3 where object_id = 4 (select max(object_id) 5 from test1 6 where tes…
一.聚合函数 1.标量函数:只能对单个的数字或值进行计算.主要包括字符函数.日期/时间函数.数值函数和转换函数这四类.如LEFT/RIGHT/SUBSTRING/LTRIM/RTRIM/CONCAT/UPPER/LOWER/NOW/CURRENT_DATE/DATE_FORMAT/RAND/IFNULL等函数. 2.聚合函数意味着用于分组数据.常用的有SUM.COUNT.AVG.MIN和MAX等函数.下面将对其进行适当说明: 2.1.COUNT函数 首先,COUNT函数可以用来返回所有选中行的数…
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].[Product…
聚合函数 --求平均 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…
连接查询 inner join,用的最多,表示多张表一一对应 聚合函数 操作行数据,进行合并 sum.avg.count.max.min 开窗函数 将合并的数据分布到原表的每一行,相当于多出来了一列,这一列可能是sum求和的数.或者avg平均数的值 也可以与排名函数一起使用 分组功能 对某一列进行分组,也就是对数据进行压缩 分组关键字经常与聚合函数搭配使用,计算每一组的合并后的数值 group by 之后如果是多个,标识的多个列的值一样的分成一个组 联合查询 将多个查询结果合并成一个结果集,但是…
大家都知道聚合函数是做统计用的,而count函数是统计行数的,也就是满足一定条件记录的行数. 下面我们来看下这个count与NULL的微妙关系. CREATE TABLE dbo.Student ( Sno int null ,Name nvarchar() ) INSERT INTO dbo.Student(Sno,Name)VALUES(,'Jesse'); INSERT INTO dbo.Student(Sno,Name)VALUES(,'Jessca'); INSERT INTO dbo…
--检查数据库的等待事件 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,   …