当前位置: 首页 > 知识库问答 >
问题:

Postgresql:计数和一列之和?

都昊乾
2023-03-14

我有一个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,则应该23059 (23034 25)drives_and_duration_total

什么样的查询可以让我得到这种类型的表(我会按用户id分组…)。

我研究过这个问题:

如何在PostgreSQL中计算多个列的总和

但是,我不确定这是否会以及如何引导我找到我需要的答案,因为我不仅仅是计算列的总和,我需要计算一列的总和,并计算is_new_drive=true情况下的行数,然后得到总数。。。

共有1个答案

汲利
2023-03-14

引用的问题询问并回答如何计算同一行中列的总和。这不是你需要的,而是你需要总和函数。这计算列中值的总和。所以:

select user_id, sum(driving_time) + 25 as drive_minuets
  from user_stats 
 group by user_id 
 where is_time_duration; 
 类似资料:
  • 我想知道在PostgreSQL中是否有计算多列之和的方法。 我有一个超过80列的表,我必须编写一个查询,添加每个列的每个值。 我尝试使用SUM(col1、col2、col3等),但它不起作用。

  • 本文向大家介绍Postgresql数据库之创建和修改序列的操作,包括了Postgresql数据库之创建和修改序列的操作的使用技巧和注意事项,需要的朋友参考一下 创建序列 (从1开始,递增幅度1,最大值无上限): 更改序列值 (方法中两个参数分别是1.序列名字,2.序列修改后值): Navicat Premium中序列位置如下图: 补充:PostgreSQL 序列增删改 创建序列 指定序列(给表的主

  • 问题内容: 我正在尝试为dellstore2数据库累计计算用户数。在这里和其他论坛上寻找答案时,我使用了这个 这返回 每个月是 看一下前几项,似乎总的来说还不错。但是当我跑步时 对于整个事情,我明白了 这与第一个输出11,681中的最后一项不一致。我猜上面的计算无法确定整个月的唯一性。什么是最快的计算方式(最好不使用自联接)? 问题答案: 除了直接从订单中选择之外,还可以使用如下子查询: 我认为这

  • 我使用文档中的一次单击digital ocean部署来创建一个Hasura实例。然后我配置了Hasura,创建了表,添加了行等等,并为我的应用程序建立了数据模型。 我现在需要将所有这些数据移动到一个单独的数字海洋卷,这样我就可以随着数据库的增长而增加存储空间。我在同一个小滴上创建了一个新的Hasura实例,从新卷的内部,我可以在不同的端口上访问它。如何将所有数据和配置从一个Hasura实例传输到另

  • 我们将以一个简单的问题开始,你已经知道如何不使用递归解决。 假设你想计算整数列表的总和,例如:[1,3,5,7,9]。 计算总和的迭代函数见ActiveCode 1。函数使用累加器变量(theSum)来计算列表中所有整数的和,从 0 开始,加上列表中的每个数字。 def listsum(numList): theSum = 0 for i in numList:

  • 问题内容: 我得到的问题是,使用oddSum时,输出的值与evenSum相同,并且所有元素之和的值为0。 我无法完全看到即时通讯出了什么问题,因为这些循环非常相似,而且即使一个循环也可以工作,其他循环也应该如此吗? 无论如何这是我的代码: 问题答案: 您将获得相同的价值,并且因为您正在打印相同的价值:- 此外,您的最后一笔是因为你在做你原有的数组的所有元素,因为你是在要素交换的元素和,这是初始值为