【发布时间】:2021-05-31 17:13:39
【问题描述】:
我有一个user_stats 表。表中的一列是driving_time。
user_stats
- user_id (FK)
- driving_time (Int)
- is_new_drive Bool
- is_time_duration Bool
每次用户驾驶时都会创建一个新行并将is_new_drive 设置为true。
每次用户结束驱动器时,都会创建一个新行,其中 is_time_duration 设置为 true,driving_time 设置为驱动的秒数。
我想运行一个返回的查询:
drives_and_duration_total | user_id
drives_and_duration_total 是计算用户的所有驱动器和为用户驱动的时间量的总和。所以我想要一个数字,它是is_new_drive == 真实记录数加上给定用户的driving_time 列的总和。
因此,如果用户 10 驾驶了 25 次,并且该用户的所有 driving_time 的总和为 23034,则 drives_and_duration_total 应为 23059 (23034+25)。
什么查询可以让我得到那种类型的表作为结果(我会按 user_id 分组...)。
我看过这个问题:
How to compute the sum of multiple columns in PostgreSQL
但是,我不确定这是否以及如何导致我得到我需要的答案,因为我不只是计算列的总和,我需要计算一列的总和并计算行数is_new_drive=truecase 然后得到总数...
【问题讨论】:
标签: postgresql