Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
AWS Athena SQL基于一列和一个静态值添加日期差异列_Sql_Amazon Web Services_Amazon Athena_Presto - Fatal编程技术网

AWS Athena SQL基于一列和一个静态值添加日期差异列

AWS Athena SQL基于一列和一个静态值添加日期差异列,sql,amazon-web-services,amazon-athena,presto,Sql,Amazon Web Services,Amazon Athena,Presto,我正在尝试运行以下查询: select date_diff('second',timeseries.timestampminute,max(timeseries.timestampminute)), as elapsed_sec, timeseries.grouttake from timeseries 因为我希望经过的时间是表中最高的datetime值与表中每一行之间的时间,但我不断遇到错误: 语法错误:第1:8行:““timeseries”。“grouttake”必须是 聚合表达式或出现在

我正在尝试运行以下查询:

select date_diff('second',timeseries.timestampminute,max(timeseries.timestampminute)),
as elapsed_sec,
timeseries.grouttake
from timeseries
因为我希望经过的时间是表中最高的datetime值与表中每一行之间的时间,但我不断遇到错误:

语法错误:第1:8行:““timeseries”。“grouttake”必须是 聚合表达式或出现在GROUP BY子句中“


有什么想法吗?

由于
max
是一个聚合,但select对每一行进行操作,因此这两条语句不能在同一行上下文中执行

您需要做的是计算一个查询中的最大值,然后在不同的上下文中与每一行进行比较。这可以在一个select-through联接中完成

select 
date_diff('second',
          timeseries.timestampminute,
          max_query.maxts) as elapsed_sec
from timeseries
cross join (select max(timeseries.timestampminute) maxts 
            from timeseries) 
         as max_query

我认为查询中有错误。以秒为单位,前面有逗号。您还可以提供timeseries的示例行吗?