Postgresql SQL在查询值后求和
对不起,这个标题不好。 我有一个带有一些列的postgreSQL数据库,其中一列是k_时间(一些历元的东西),为了显示一些可读的结果,我需要运行一个查询,将这个k_时间转换为时间戳,并选择一个特定的日期 这是一个查询,出于安全原因,我重写了其他列名,不应该相关Postgresql SQL在查询值后求和,postgresql,Postgresql,对不起,这个标题不好。 我有一个带有一些列的postgreSQL数据库,其中一列是k_时间(一些历元的东西),为了显示一些可读的结果,我需要运行一个查询,将这个k_时间转换为时间戳,并选择一个特定的日期 这是一个查询,出于安全原因,我重写了其他列名,不应该相关 select to_timestamp(k_time/1000), k_time, k_123, k_456, SUM(789) as 789, SUM(111) as 111, SUM(aaa) as aaa FROM table
select
to_timestamp(k_time/1000),
k_time,
k_123,
k_456,
SUM(789) as 789,
SUM(111) as 111,
SUM(aaa) as aaa
FROM table
WHERE k_abc = 0
AND to_timestamp(k_time/1000) BETWEEN '2015-11-22'::DATE AND '2015-11-24'::DATE
AND k_xyz = 'test' AND k_456 = 'result'
GROUP BY k_time,k_123,k_456
ORDER BY k_time,k_123,k_456;
此查询将导致
我怎么能把桌子放在里面?lol:-/无法向您显示我的结果
它来自邮政公司
编辑:
对不起,伙计们,我没有时间用我的实际表格内容来正确更新这个。
我的观点基本上是,在我运行该查询之后,我有一列to_timestamp,其中每天的每一小时都是一行(这是因为sql表会这样聚合它)
最后是查询结果 我需要的是:
这一整天的一行包含最后三列中所有值的总和为了适应两个日期之间的k_时间值,您可能需要在sql中删除“/1000” 在这里: 我所说的取决于“k_time”中的值是存储为秒还是毫秒
- 如果“k_时间”中的值为秒,则删除“/1000”
- 如果“k_time”中的值为毫秒,则保留“/1000”
示例:日期“2015-11-12 14:10:51”以秒为单位转换为“1447330251”,以毫秒为单位转换为“1447330251000”。使用数据样本,并在此处发布该数据样本的预期结果。在这里添加生成的链接。最好从查询中删除所有不相关的列。查看源数据比查看查询结果更有用。请查看我的上次编辑:-)
2015-11-23 00:00:00+00 1448236800000 K_456 k_xyz 0 4 84
2015-11-23 00:00:00+00 1448236800000 K_457 k_xyz 0 0 2
2015-11-23 00:00:00+00 1448236800000 K_458 k_xyz 0 15 263
2015-11-23 00:00:00+00 1448236800000 K_459 k_xyz 0 0 3
2015-11-23 00:00:00+00 1448236800000 K_460 k_xyz 0 1 191
2015-11-23 00:01:00+00 1448244000000 K_456 k_xyz 0 2 260
2015-11-23 00:01:00+00 1448244000000 K_457 k_xyz 0 1 63
select
to_timestamp(k_time),
k_time,
k_123,
k_456,
SUM(789) as 789,
SUM(111) as 111,
SUM(aaa) as aaa
FROM table
WHERE k_abc = 0
AND to_timestamp(k_time) BETWEEN '2015-11-22'::DATE AND '2015-11-24'::DATE
AND k_xyz = 'test' AND k_456 = 'result'
GROUP BY k_time,k_123,k_456
ORDER BY k_time,k_123,k_456;