首页 >数据库 >mysql教程 >如何从单个 SQL 查询中获取多个计数?

如何从单个 SQL 查询中获取多个计数?

Linda Hamilton
Linda Hamilton原创
2025-01-20 16:13:11783浏览

How Can I Get Multiple Counts from a Single SQL Query?

优化SQL查询:一次性获取多个计数

本文演示了一种使用单个 SQL 查询检索多个计数的简化方法。 我们将结合聚合函数来利用 CASE 语句的强大功能。

该策略涉及使用 CASE 根据 level 列对行进行分类,并为每个类别分配一个计数。 然后使用 SUM 聚合这些计数以提供最终结果。

这是一个实现此目的的查询,每个 distributor_id 返回一行数据:

<code class="language-sql">SELECT distributor_id,
       COUNT(*) AS total,
       SUM(CASE WHEN level = 'exec' THEN 1 ELSE 0 END) AS ExecCount,
       SUM(CASE WHEN level = 'personal' THEN 1 ELSE 0 END) AS PersonalCount
FROM yourtable
GROUP BY distributor_id;</code>

此方法有效地提供单个查询结果中特定 level 值的总体计数和单独计数。

以上是如何从单个 SQL 查询中获取多个计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn