可以使用条件聚合在一个查询中获取不同的和:
SELECT SUM(duration_seconds ) AS total_duration,
SUM(CASE WHEN is_billable THEN duration_seconds ELSE 0 END) AS billable_duration,
SUM(CASE WHEN NOT is_billable THEN duration_seconds ELSE 0 END) AS non_billable_duration
FROM yourtable
输出(用于示例数据)
total_duration billable_duration non_billable_duration
850 650 200
Demo on SQLFiddle