zoukankan      html  css  js  c++  java
  • mysql统计某个指标之和大于指定值的记录

    一、having与where的区别

    where having
    可以与update、delete、select一起使用 只能与select一起使用
    在group by之前使用 group by之后使用
    不一定要与group by一起使用 必须与group by一起使用
    对表中的数据进行筛选 对聚合后的数据进行筛选
    与单行数据的函数upper,lower等一起使用 与作用于多行的函数count、sum一起使用
       
       

    二、条件查询

    题目:查询出enbale之和大于10的modifier与enable总量

    1、使用having

    having在聚合后对记录进行筛选,表里面可以不存在此记录,where作为条件查询真实的表或者查询出来的表中必须有记录

    select modifier,sum(`enable`) as total from api_info group by modifier having total>10

    此处的having如果换成where就会报错

    2、使用联合查询

    SELECT DISTINCT
        (a.modifier),
        a1.total
    FROM
        api_info a
    RIGHT JOIN (
        SELECT
            modifier,
            SUM(`enable`) AS total
        FROM
            api_info
        GROUP BY
            modifier
    ) AS a1 ON a.modifier = a1.modifier
    WHERE
        total > 10;
  • 相关阅读:
    启动时间知多少?8款音视频类应用测评报告分析
    优化信息流很麻烦?三招教你轻松搞定
    vmstat
    iostat
    dstat
    strace
    Mysql(一)
    rsync
    Kubernetes-深入分析集群安全机制
    Kubernetes-apiserver
  • 原文地址:https://www.cnblogs.com/xiaochengzi/p/14957740.html
Copyright © 2011-2022 走看看