全部產品
Search
文件中心

AnalyticDB:HAVING

更新時間:Sep 06, 2024

HAVING子句用於過濾GROUP BY分組彙總後的資料。HAVING子句必須與彙總函式和GROUP BY子句一起使用,在分組和彙總計算完成後,再對分組進行過濾,篩選掉不滿足條件的分組。本文介紹HAVING的用法和樣本。

[ HAVING condition ]     

注意事項

  • HAVING條件中引用的列必須為分組列或引用了彙總函式結果的列。

  • HAVING子句必須與彙總函式以及GROUP BY子句一起使用,用於對GROUP BY分組進行過濾,去掉不滿足條件的分組。

樣本

在CUSTOMER表中,進行分組查詢,查詢賬戶餘額大於指定值的記錄。

SELECT count(*), mktsegment, nationkey,
       CAST(sum(acctbal) AS bigint) AS totalbal
FROM customer
GROUP BY mktsegment, nationkey
HAVING sum(acctbal) > 5700000
ORDER BY totalbal DESC;

 _col0 | mktsegment | nationkey | totalbal
-------+------------+-----------+----------
  1272 | AUTOMOBILE |        19 |  5856939
  1253 | FURNITURE  |        14 |  5794887
  1248 | FURNITURE  |         9 |  5784628
  1243 | FURNITURE  |        12 |  5757371
  1231 | HOUSEHOLD  |         3 |  5753216
  1251 | MACHINERY  |         2 |  5719140
  1247 | FURNITURE  |         8 |  5701952