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 |

浙公网安备 33010602011771号