首页 > 数据库 > mysql教程 > 如何组合两个 SELECT 查询来统计每个人的任务和延迟任务?

如何组合两个 SELECT 查询来统计每个人的任务和延迟任务?

Mary-Kate Olsen
发布: 2025-01-08 22:32:43
原创
753 人浏览过

How to Combine Two SELECT Queries to Count Tasks and Late Tasks for Each Individual?

组合 SELECT 查询进行全面的任务分析

数据库查询通常需要组合多个来源的数据以获得完整的图片。 这涉及到连接多个 SELECT 语句的结果——这是许多编程环境中的关键技术。

考虑一个涉及具有截止日期和个人分配的任务数据库的场景。 目标是生成一份报告,显示每个人、他们的任务总数以及逾期任务的数量。

这可以使用两个单独的 SELECT 查询来实现:一个用于计算每个人的任务,另一个用于计算过期任务(其中 Age 超过预定义的截止日期 PALT)。 为了合并这些信息,使用了 LEFT JOIN。 这可确保包含第一个查询中的所有个人,以及第二个查询中匹配的过期任务计数。连接基于 ks 列(个人标识符)。

组合查询如下:

<code class="language-sql">SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM 
    (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks;</code>
登录后复制

输出是一个表格,列出每个人的ks、他们的任务总数 (# Tasks) 以及过期任务的数量 (# Late)。 COALESCE 处理个人没有逾期任务的情况,为 0 分配一个 # Late 值。 这提供了全面而准确的总结。

以上是如何组合两个 SELECT 查询来统计每个人的任务和延迟任务?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板