Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql SQL在查询值后求和_Postgresql - Fatal编程技术网

Postgresql SQL在查询值后求和

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

对不起,这个标题不好。 我有一个带有一些列的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
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;