首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL中计算两个不同列的in

如何在SQL中计算两个不同列的in
EN

Stack Overflow用户
提问于 2019-06-22 23:07:27
回答 1查看 40关注 0票数 0

我有一个表,其中包含两个不同的列:a_idb_id

我想要处理这两列,并计算每列中不同的作业in数,然后进行报告。最终,我希望确定在任何给定的一天创建了多少个作业,以及在任何给定的一天完成了多少个作业。

我开始编写一个粗略的查询来尝试解决这个问题,但我意识到select distinct比我想象的要复杂得多。我还写了一个名为total_jobs的专栏,我认为应该有两个专栏:基于job_created_datejob_completed_datetotal jobs createdtotal jobs completed。有点迷路了。

代码语言:javascript
运行
复制
SELECT
job_created_date,
job_completed_date,
category,
   COUNT(
        SELECT 
        DISTINCT a_id, b_id
        FROM my_data_table
    ) AS total_jobs

FROM my_data_table
WHERE
    ds BETWEEN '<DATEID-8>' AND '<DATEID-1>'
GROUP BY
    1, 2, 3, 4

我希望输出结果可以帮助我创建一个条形图,条形图上的日期在x轴上,堆叠的条形图表示当天创建的作业数和当天要完成的剩余作业数。

EN

回答 1

Stack Overflow用户

发布于 2019-06-23 01:13:32

我不知道您的数据是什么样子,但我可以推测您的每个作业有一行,对于已完成的作业,job_completed_date是非NULL的。

如果是这样的话,你可以这样做:

代码语言:javascript
运行
复制
SELECT t.*,
       COUNT(*) OVER () as total_jobs,
       COUNT(job_complete) as total_completed_jobs
FROM my_data_table t
WHERE t.ds BETWEEN '<DATEID-8>' AND '<DATEID-1>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56716579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档