SQL语句_数字运算

Store_Info表:

store_name sales date
A 500 01-01-2000
B 200 02-01-2000
A 1500 02-10-2000
D 1000 03-08-2000

AVG(平均) : SELECT  AVG(sales) FROM Story_Info WHERE store_name = 'A'  查商品A的平均售价。

AVG(sales)
1000

COUNT(计数):SELECT COUNT(store_name) FROM Story_Info WHERE store_name = 'A'  查商品名是A的商品有多少。

COUNT(store_name)
2

为了更精准的查询,常常在使用COUNT时,会配合上DISTINCT(去重)一起使用。例如:SELECT COUNT(DISTINCT store_name) FROM Story_Info,结果是

COUNT(store_name)
3

而不是4 ,因为SQL语句中做了去重,两个A 只算做1个。

MAX(最大值):SELECT MAX(sales) FROM Story_Info   查商品信息表中价格最高的 

MAX(sales)

1500

MIN(最小值):SELECT MIN(sales) FROM Story_Info   查商品信息表中价格最低的 

MIN(sales)
200

SUM(总和):SELECT SUM(sales) FROM Story_Info   查商品信息表中价格总和。

SUM(sales)
3700

SUM 通常和 GROUP BY(组)一起使用。SELECT store_name, SUM(sales) FROM Story_Info GROUP BY store_name;  按商品名称分组,查出每种商品的价格。

store_name SUM(sales)
A 2000
B 200
D 1000

查询过程带有SUM()、MIN()、MAX()、AVG()、COUNT()这些函数的也称为聚合语句,执行优先级别比WHERE子句在查询过程中执行优先级低,但是比HAVING子句的执行优先级高。这样可以看出,WHERE子句中是不能有聚合语句的。 WHERE SUM(sales)>1000会报错。这时候,我们就可以用HAVING SUM(sales)>1000。例如:按商品名称分组,且该类商品总价格大于1000的商品。SELECT store_name, SUM(sales) FROM Story_Info GROUP BY store_name HAVING SUM(sales) > 1000;  

store_name SUM(sales)
A 2000

 

posted @ 2023-06-17 20:09  Alpha_To_Beta  阅读(116)  评论(0)    收藏  举报