COUNT() 函数内的条件计数
您可以将条件直接合并到 COUNT()
函数中。 当您需要在单个 SQL 查询中计算满足不同条件的行数时,这特别有用,从而避免了多个查询或子查询的需要。 例如,计算单个 SELECT
语句中“经理”和“员工”的数量。
关键是在 CASE
函数中使用 COUNT()
表达式。 COUNT()
只计算非 NULL 值。 因此:
<code class="language-sql">SELECT COUNT(CASE WHEN Position = 'Manager' THEN 1 ELSE NULL END) AS ManagerCount FROM ...</code>
这仅计算 Position
为“Manager”的行。 ELSE NULL
确保不满足条件的行不被计算在内。
或者,您可以使用SUM()
:
<code class="language-sql">SELECT SUM(CASE WHEN Position = 'Manager' THEN 1 ELSE 0 END) AS ManagerCount FROM ...</code>
这达到了相同的结果; SUM()
为每个“经理”添加 1,为所有其他“经理”添加 0。 这种方法在某些数据库系统中可能稍微更有效。 这两种方法都不需要单独的 WHERE
子句,因此非常适合同时计算多个类别。
以上是如何计算 COUNT() 函数中满足特定条件的行数?的详细内容。更多信息请关注PHP中文网其他相关文章!