W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
?HAVING
? 子句使你能夠指定過濾條件,從而控制查詢結果中哪些組可以出現(xiàn)在最終結果里面。
?WHERE
?子句對被選擇的列施加條件,而 ?HAVING
?子句則對 ?GROUP BY
? 子句所產(chǎn)生的組施加條件。
下面可以看到 ?HAVING
? 子句在 ?SEL ECT
?查詢中的位置:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
在 ?SELECT
? 查詢中,?HAVING
? 子句必須緊隨 ?GROUP BY
? 子句,并出現(xiàn)在 ?ORDER BY
? 子句(如果有的話)之前。帶有 ?HAVING
? 子句的 ?SELECT
? 語句的語法如下所示:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
考慮 ?CUSTOMERS
? 表,表中的記錄如下所示:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
下面是一個有關 ?HAVING
? 子句使用的實例,該實例將會篩選出出現(xiàn)次數(shù)大于或等于 2 的所有記錄。
SQL > SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;
其執(zhí)行結果如下所示:
+----+----------+-----+---------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+---------+---------+
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
+----+----------+-----+---------+---------+
現(xiàn)在我們想要查找總訪問量大于 200 的網(wǎng)站。
我們使用下面的 SQL 語句:
SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log
INNER JOIN Websites ON access_log.site_id=Websites.id)
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;
執(zhí)行以上 SQL 輸出結果如下:
現(xiàn)在我們想要查找總訪問量大于 200 的網(wǎng)站,并且 alexa 排名小于 200。
我們在 SQL 語句中增加一個普通的 WHERE 子句:
SELECT Websites.name, SUM(access_log.count) AS nums FROM Websites
INNER JOIN access_log
ON Websites.id=access_log.site_id
WHERE Websites.alexa < 200
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;
執(zhí)行以上 SQL 輸出結果如下:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: