聚合函数上的Postgres“分组依据”

用户名

我有一个查询,返回一个ID数组,然后使用自定义函数按如下顺序对其进行排序:

SELECT array_sort(my_array) as sort FROM table

这将返回:

{19,21,24,48}
{19,21,24}
{19,21}
{19}
{16,12,13}
{16,12}
...

我想选择最长的数组并包含不同的第一个元素,因此从上面的列表中我将得到:

{19,21,24,48} and {16,12,13}

我如何实现这一点,我尝试将第一个元素作为单独的项拉出,按长度排序并尝试按以下方式分组:

SELECT DISTINCT (array_sort(path))[1] as first, array_length(path,1) as plen, array_sort(path) as members FROM table GROUP BY first,plen,members ORDER BY plen DESC

这行不通,仅订购列表

罗曼·佩卡

使用distinct on条款:

with cte as (
  select
      array_length(members,1) as plen,
      members[1] as first,
      members
  from (select array_sort(path) as members from table) as a
)
select distinct on (first)
    members
from cte
order by first, plen desc

sql fiddle example

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分组依据是否总是需要聚合函数

来自分类Dev

使用联接,分组依据和聚合函数的SQL选择查询

来自分类Dev

R dplyr:分组依据,不具有聚合函数

来自分类Dev

分组依据的条件聚合查询

来自分类Dev

嵌套case语句中的聚合函数需要潜在的混乱分组依据

来自分类Dev

如何将 Join 与聚合函数和分组依据结合起来

来自分类Dev

使用分组依据聚合不同的列类型

来自分类Dev

PostgreSQL-max(count())聚合,分组依据

来自分类Dev

jsonb的Postgres聚合函数

来自分类Dev

Postgres分组依据并提取具有多个元素的分组

来自分类Dev

Mongo聚合使用多个分组依据来计算密钥的出现

来自分类Dev

SQLSERVER分组依据(基于其他列聚合列)

来自分类Dev

MongoDB聚合-分组依据,在结果中选择其他字段

来自分类Dev

弹性搜索总和聚合,分组依据和条件

来自分类Dev

基于分组依据的SQL字符串聚合

来自分类Dev

SQLSERVER分组依据(基于其他列聚合列)

来自分类Dev

使用DateTime上的聚合来加速SQL查询并分组依据

来自分类Dev

Vertica DB中的封装分组依据或条件聚合

来自分类Dev

列表的分组依据和总和是最终的聚合结果

来自分类Dev

SQL使用MAX()函数选择字段不在分组依据中

来自分类Dev

按聚合函数分组进行乘法

来自分类Dev

使用Lambda函数进行分组和聚合

来自分类Dev

对行进行分组而不调用聚合函数

来自分类Dev

熊猫分组-创建通用聚合函数

来自分类Dev

MySQL中按聚合函数max分组

来自分类Dev

错误:无法在用于分组依据列表的表达式中使用聚合或子查询

来自分类Dev

将数组聚合到一个数据帧中,分组依据为

来自分类Dev

Spark聚合/分组依据,以便基于集合中的col值确定新列的值

来自分类Dev

使用分组依据聚合R中的数据,并保留非NA的其他列的值

Related 相关文章

  1. 1

    分组依据是否总是需要聚合函数

  2. 2

    使用联接,分组依据和聚合函数的SQL选择查询

  3. 3

    R dplyr:分组依据,不具有聚合函数

  4. 4

    分组依据的条件聚合查询

  5. 5

    嵌套case语句中的聚合函数需要潜在的混乱分组依据

  6. 6

    如何将 Join 与聚合函数和分组依据结合起来

  7. 7

    使用分组依据聚合不同的列类型

  8. 8

    PostgreSQL-max(count())聚合,分组依据

  9. 9

    jsonb的Postgres聚合函数

  10. 10

    Postgres分组依据并提取具有多个元素的分组

  11. 11

    Mongo聚合使用多个分组依据来计算密钥的出现

  12. 12

    SQLSERVER分组依据(基于其他列聚合列)

  13. 13

    MongoDB聚合-分组依据,在结果中选择其他字段

  14. 14

    弹性搜索总和聚合,分组依据和条件

  15. 15

    基于分组依据的SQL字符串聚合

  16. 16

    SQLSERVER分组依据(基于其他列聚合列)

  17. 17

    使用DateTime上的聚合来加速SQL查询并分组依据

  18. 18

    Vertica DB中的封装分组依据或条件聚合

  19. 19

    列表的分组依据和总和是最终的聚合结果

  20. 20

    SQL使用MAX()函数选择字段不在分组依据中

  21. 21

    按聚合函数分组进行乘法

  22. 22

    使用Lambda函数进行分组和聚合

  23. 23

    对行进行分组而不调用聚合函数

  24. 24

    熊猫分组-创建通用聚合函数

  25. 25

    MySQL中按聚合函数max分组

  26. 26

    错误:无法在用于分组依据列表的表达式中使用聚合或子查询

  27. 27

    将数组聚合到一个数据帧中,分组依据为

  28. 28

    Spark聚合/分组依据,以便基于集合中的col值确定新列的值

  29. 29

    使用分组依据聚合R中的数据,并保留非NA的其他列的值

热门标签

归档