Sql Server 聚集函数

/*
聚集函数

AVG 求平均值
SUM 求和
COUNT 求行数 :如果是 count(*) 那么如果一行里全是NULL则也可以查到此行。 如果是count(具体列名) 此列中某一行为NULL
MAX 求最大值
MIN 求最小值


ALL 全部
DISTINCT 不同的
*/


INSERT INTO dbo.class(ID,NAME) VALUES(1,'张三');

INSERT INTO dbo.class(ID,NAME) VALUES(null,null);


select count(id) from class

select COUNT(*) from class;

select COUNT(*) from class;

create table abc(id int ,name varchar(10)) ;

select * from dbo.abc;

select * from Products


select AVG(prod_price) from Products; --AVG 求这一列总和的平均值

select SUM(prod_price) from products; --SUM 求这一列的总和

select MAX(PROD_PRICE) FROM Products; -- MAX 求这一列中最大的值

select MIN(PROD_PRICE) FROM Products; --MIN 求这一列中最小的值

select COUNT(prod_price) from Products; --COUNT 求这一列有多少行

select COUNT(cust_email) from Customers; --email中有NULL值, count统计多少行记录 不会统计NULL值 总行数5 三个邮箱有值,两个为NULL。 所以count统计的是3条记录。

select COUNT(*) from Customers; --

SELECT COUNT(*) FROM Customers WHERE cust_email<>NULL AND cust_address <>NULL AND cust_city<>NULL AND cust_contact<>NULL AND cust_country<>NULL AND cust_id<>NULL AND cust_name<>NULL AND cust_state<>NULL AND cust_zip<>NULL;

SELECT * FROM Customers;

select LEN(prod_price) from Products; --LEN 或者 DATALENGTH 求这一列每行的字符长度

select prod_name from Products;
select MAX(prod_name) from Products;

SELECT AVG(DISTINCT PROD_PRICE) FROM Products; --对不同的记录 算出平均值。 这两个语句得出的结果时不同的。

select AVG( all prod_price ) from Products; --对全部行记录 算出平均值。

SELECT COUNT(DISTINCT prod_price) FROM Products; -- DISTINCT distinct(不同的 distinct)

SELECT COUNT(ALL PROD_PRICE) FROM Products; --对行进行计算时 默认使用的是ALL(全部) 就是不指定ALL也是默认为ALL。 如果想要得出不同的记录(不重复的记录) 则指定distinct;



SELECT * FROM Products;

上一篇:Hive学习小记-(6)collect_set与笛卡尔积使用


下一篇:MySQL基础之MySQL必知必会(十四)使用子查询