postgresql - Postgresql:计数和一列的总和?
问题描述
我有一张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
== true 记录数的总和加上driving_time
给定用户的列的总和。
因此,如果用户 10 驾驶了 25 次,并且该driving_time
用户所有的总和为 23034,那么drives_and_duration_total
应该是23059 (23034+25)。
什么查询可以让我得到那种类型的表作为结果(我会按 user_id ... 分组)。
我看过这个问题:
但是,我不确定这是否以及如何引导我得到我需要的答案,因为我不只是计算列的总和,我需要计算一列的总和并计算is_new_drive=true
case 的行数,然后得到总...
解决方案
引用的问题询问并回答如何计算同一行中的列的总和。这不是您需要的,而是您需要sum 函数。这将计算列中值的总和。所以:
select user_id, sum(driving_time) + 25 as drive_minuets
from user_stats
group by user_id
where is_time_duration;
推荐阅读
- python - 如何在macos上更正图片tkinter messagebox tkinter
- python - 对于数据框,如何删除具有所有列的每一行等于无
- excel - 确定是否曾经保存过 Excel 工作簿?
- c# - 使用 ProcessStartInfo 打开 chm
- html - 碰到标志 Div 时缩放 SVG
- go - 为什么我的频道需要缓冲区?
- python - Python.h 未从 virtualenv 中的源代码从 Tensorflow 构建
- android - 如何像 Office Lens 一样实现 OCR?
- django - ManyToMany 字段指向自我错误行为?
- javascript - 解析 Promise 并存储要在多个其他 JS 函数中使用的值