我有一个包含间隔的表格:
CREATE TABLE tbl (
user_id: INTEGER,
start: TIMESTAMP,
end: TIMESTAMP,
billable: BOOLEAN
);
我想创建一个如下所示的 View :
user_id | billable_time | unbillable_time
我可以使用如下查询获取这两个中的一个:
SELECT user_id, sum(end - start) AS billable_time WHERE billable = TRUE GROUP BY user_id;
但是,我需要这两列,不可计费时间是等效的:
SELECT user_id, sum(end - start) AS unbillable_time WHERE billable = FALSE GROUP BY user_id;
如何将这两个值放入一个查询中?
最佳答案
select user_id, sum(case billable when 1 then (end - start) end) as can_bill,
sum(case billable when 0 then (end - start) end) as unbillable
关于sql - 如何在 SQL 查询中聚合两类值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406663/