zoukankan      html  css  js  c++  java
  • 聚合函数相关计算

    使用聚合函数查询计算:

       求和的方式,对表中的数据个数求和   count

          格式:SELECT COUNT (*) AS  '总数' FROM 表名;

       sum求和    sum(列名)

          格式:SELECT SUM (money) FROM 表名;

       求和,所有的支出

          格式:SELECT SUM (money) FROM 表名 WHERE 列名 LIKE '%支出%';

       MAX,获得最大值  MIN,获得最小值

          格式:SELECT MAX (money) FROM 表名;

       AVG,计算money列的所有数据的平均数

          格式:SELECT AVG (money) FROM 表名;

    分组查询:GROUP BY 表名;

       使用格式:Selct 字段1,字段2...from 表名 group by 字段 having 条件;

         1.对sname列分组查询求和,但是只要支出的和并且升序排列

           代码:SELECT SUM(money) AS  'getsum' ,sname FROM 表名 WHERE sname LIKE ‘%支出%’ GROUP BY sname ORDER BY getsum ASC;

         2.对sname内容进行分组查询求和,但是只要支出,并且显示金额大于800的

           代码:SELECT SUM(money) AS 'getsum' ,sname FROM 表名 WHERE sname LIKE '%支出%' GROUP BY sname HAVING getsum>900;

         3.对sname列去重相加并且求和

           代码:SELECT SUM(money) ,sname FROM 表名 GROUP BY sname;

    having和where的区别:

         having是在分组后对数据进行过滤。

        where 是在分组前对数据进行过滤。

        having 后面可以使用分组函数。

        where 后面不允许使用分组函数。

  • 相关阅读:
    [BZOJ2296] [POJ Challenge] 随机种子
    [BZOJ1026] [SCOI2009] windy数 (数位dp)
    [BZOJ1306] [CQOI2009] match循环赛 (搜索)
    [BZOJ2654] tree (kruskal & 二分答案)
    [BZOJ3506] [Cqoi2014] 排序机械臂 (splay)
    [BZOJ1552] [Cerc2007] robotic sort (splay)
    [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
    BZOJ3611: [Heoi2014]大工程
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ3876: [Ahoi2014]支线剧情
  • 原文地址:https://www.cnblogs.com/duguangming/p/10627923.html
Copyright © 2011-2022 走看看