【MySQL_学习笔记】2021.8.15

  • 聚集函数
SELECT COUNT(id) FROM income
SELECT COUNT(*) FROM income

备注:

(1)COUNT 函数用与对查询的结果进行计数,统计个数

(2)COUNT 函数只统计非 NULL 的记录个数。要用 COUNT 统计表内记录的总数,应选用不可能为 NULL 的字段(比如主键字段)

(3)COUNT(*) 统计所有记录,因为没有指定具体的字段名,所以记录只要有一个字段不是 NULL,就符合 COUNT(*) 的筛选条件

SELECT COUNT(*) FROM income
    WHERE YEAR(pay_time) = 2020 AND MONTH(pay_time) = 9
SELECT COUNT(*) AS 9月总数 FROM income
    WHERE YEAR(pay_time) = 2020 AND MONTH(pay_time) = 9

 

SELECT SUM(money) AS 9月收入 FROM income
    WHERE YEAR(pay_time) = 2020 AND MONTH(pay_time) = 9
SELECT COUNT(money) AS 消费次数,
       SUM(money) AS 总消费,
       AVG(money) AS 单笔平均消费,
       MIN(money) AS 单笔最低消费,
       MAX(money) AS 单笔最高消费
    FROM income
SELECT funs_id,COUNT(money) AS 消费次数,
             SUM(money) AS 总消费,
             AVG(money) AS 单笔平均消费,
             MIN(money) AS 单笔最低消费,
             MAX(money) AS 单笔最高消费
    FROM income
    WHERE funs_id = '我张三翻身啦!'

 备注:

(1)SUM 函数统计记录中的总和,它的返回值是一个数字

(2)AVG 函数返回某字段的平均值;MAX 函数返回某字段的最大值;MIN 函数返回某字段最小值。聚集函数的用法都是相似的,除了 COUNT(*)之外,均忽略 NULL 

(3)根据SQL标准,聚集函数不应该与普通字段同时出现在 SELECT 中,除非该字段用于分组

SELECT COUNT(DISTINCT(funs_id)) FROM income

备注:

(1)聚集函数中可以使用 DISTINCT,从而在统计之前,先排除重复值

(2)DISTINCT 要写在函数的括号之内、字段名之前,DISTINCT 后面不可以使用星号

posted @ 2021-08-16 01:35  ZzzRed  阅读(52)  评论(0)    收藏  举报