SQL 使用HAVING子句过滤GROUP BY结果

示例

HAVING子句过滤GROUP BY表达式的结果。注意:以下示例使用的是Library示例数据库。

例子:

返回写了不止一本书的所有作者(在线示例)。

SELECT

  a.Id,

  a.Name,

  COUNT(*) BooksWritten

FROM BooksAuthors ba

  INNER JOIN Authors a ONa.id= ba.authorid

GROUP BY

  a.Id,

  a.Name

HAVING COUNT(*) > 1    -- equals to HAVING BooksWritten > 1

;

返回作者超过三名的所有书籍(实时示例)。

SELECT

  b.Id,

  b.Title,

  COUNT(*) NumberOfAuthors

FROM BooksAuthors ba

  INNER JOIN Books b ONb.id= ba.bookid

GROUP BY

  b.Id,

  b.Title

HAVING COUNT(*) > 3    -- equals to HAVING NumberOfAuthors > 3

;

           

以上是 SQL 使用HAVING子句过滤GROUP BY结果 的全部内容, 来源链接: utcz.com/z/340653.html

回到顶部