首页 > 数据库 > mysql教程 > 如何使用 SQL 连接合并个人的任务和延迟任务计数?

如何使用 SQL 连接合并个人的任务和延迟任务计数?

Barbara Streisand
发布: 2025-01-08 22:37:44
原创
878 人浏览过

How to Combine Task and Late Task Counts for Individuals Using SQL Joins?

合并多个 SQL 查询的数据

数据库管理通常需要集成来自各种来源或表的数据。 常见的方法是使用 SQL JOIN 操作来组合多个 SELECT 语句的结果。

此示例演示了如何组合来自两个查询的数据:一个计算总任务数,另一个计算每个人的逾期任务。目的是创建一个表格,显示每个人的任务数和逾期任务数。

第一个查询计算每个人的总任务数:

<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks</code>
登录后复制

这会生成一个包含 ks(个人标识符)和 Total Tasks.

的表

第二个查询统计每个人的逾期任务:

<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks</code>
登录后复制

这会生成一个包含 ksOverdue Tasks 的表。

要合并这些结果,请使用 LEFT JOIN。这确保了第一个查询中的所有个人都被包括在内,即使他们没有逾期的任务。

组合查询为:

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

COALESCE 处理个人缺少逾期任务的情况,将 NULL 替换为 0。

最终表格显示每个人的 ksTotal TasksOverdue Tasks

以上是如何使用 SQL 连接合并个人的任务和延迟任务计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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