优化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中文网其他相关文章!