【发布时间】:2021-09-06 10:50:07
【问题描述】:
我有一份报告(如果您愿意,可以使用Blazer),其中显示了jobs 表中最近更新或创建的行的类似数据:
5 Minutes | 1 Hour | 1 Day | Total
----------------------------------
0 0 367 30,989
SQL 看起来像这样:
SELECT
(SELECT COUNT(*)
FROM public.jobs AS "Jobs"
WHERE "Jobs"."updated_at" BETWEEN NOW() - INTERVAL '5 minutes' AND NOW()
) as "5 Minutes",
(SELECT COUNT(*)
FROM public.jobs AS "Jobs"
WHERE "Jobs"."updated_at" BETWEEN NOW() - INTERVAL '1 Hours' AND NOW()
) as "1 Hour",
(SELECT COUNT(*)
FROM public.jobs AS "Jobs"
WHERE "Jobs"."updated_at" BETWEEN NOW() - INTERVAL '1 Day' AND NOW()
) as "1 Day",
(SELECT COUNT(*)
FROM public.jobs AS "Jobs"
) as "Total"
;
我想为工作WHERE "Jobs"."active" IS TRUE 添加第二行。如何让这个显示另一行?
我希望最终结果是这样的:
Status | 5 Minutes | 1 Hour | 1 Day | Total
-------------------------------------------
* 0 0 367 30,989
Active 0 0 123 24,972
标签不是问题。唯一不明显的是如何创建新行。
【问题讨论】:
标签: sql postgresql union-all aggregate-filter