Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
Sql 复杂分组案例-使用;划界锡旗“;组间_Sql_Postgresql - Fatal编程技术网

Sql 复杂分组案例-使用;划界锡旗“;组间

Sql 复杂分组案例-使用;划界锡旗“;组间,sql,postgresql,Sql,Postgresql,下面是有关页面视图数据集的示例 呈现的记录按时间戳按ASC顺序排序 我需要从数据集中计算一些每次会话的度量值 问题是没有明确的会话标识符。唯一可用的是是一个新会话标志,它充当会话之间的一种分隔符。因此,在给定的示例中,有5个单独的会话 如何生成某种会话标识符并将其添加到数据集中,以便以后使用它对每个会话进行分组 所需的新列与此类似: 使用累积总和定义组,然后进行聚合: select min(timestamp), max(timestamp), . . . -- whatever colu

下面是有关页面视图数据集的示例

呈现的记录按时间戳按ASC顺序排序

我需要从数据集中计算一些每次会话的度量值

问题是没有明确的会话标识符。唯一可用的是
是一个新会话
标志,它充当会话之间的一种分隔符。因此,在给定的示例中,有5个单独的会话

如何生成某种会话标识符并将其添加到数据集中,以便以后使用它对每个会话进行分组

所需的新列与此类似:

使用累积总和定义组,然后进行聚合:

select min(timestamp), max(timestamp), . . .   -- whatever columns you want
from (select t.*,
             sum(is_a_new_session) over (order by timestamp) as grp
      from t
     ) t
group by grp;

那太容易了。。我为自己没看到而感到尴尬。谢谢你,戈登!