HAVING子句
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
HAVING 子句通常用于进一步限制先前发出的 GROUP BY 子句 的结果数据。例如,仅选择至少写了两本书的作者
SELECT AUTHOR_ID, COUNT(*) FROM BOOK GROUP BY AUTHOR_ID HAVING COUNT(*) >= 2
create.select(BOOK.AUTHOR_ID, count()) .from(BOOK) .groupBy(AUTHOR_ID) .having(count().ge(2)) .fetch();
根据 SQL 标准,您可以省略 GROUP BY 子句,仍然发出 HAVING 子句。 这将隐式执行 GROUP BY ()。 jOOQ 也支持这种语法。 以下示例仅在 books 表中至少有 4 本书时才选择一条记录
SELECT COUNT(*) FROM BOOK HAVING COUNT(*) >= 4
create.select(count(*)) .from(BOOK) .having(count().ge(4)) .fetch();
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!