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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM