可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18

COUNT(const)(COUNT(常量))

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

COUNT(表达式) 聚合函数 计算组中非 NULL expression(表达式)评估值的数量。 如果 expression(表达式)是一个 常量,那么只有两种情况

  • 常量为 NULL,在这种情况下,COUNT(NULL) 的值始终为 0(但这不是一个聚合函数,所以我们目前还没有替换它)
  • 常量为其他任何值,在这种情况下,COUNT(const) 的值始终为 COUNT(*)

为了清晰起见,并且在某些 RDBMS 中也为了 (轻微的)性能原因,应该首选 COUNT(*)

使用 Settings.transformPatternsCountConstant,可以实现以下转换

-- With Settings.transformPatternsCountConstant active, this:
SELECT
  COUNT(NULL),
  COUNT(1);

-- ... is transformed into the equivalent expression:
SELECT
  COUNT(NULL), -- Might be replaced by 0 in the future, if other aggregates are present
  COUNT(*);

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo