Sql 博士后;分组方式;关于聚合函数
我有一个查询,返回一个ID数组,然后使用自定义函数对其进行排序,如下所示:-Sql 博士后;分组方式;关于聚合函数,sql,postgresql,aggregate,Sql,Postgresql,Aggregate,我有一个查询,返回一个ID数组,然后使用自定义函数对其进行排序,如下所示:- SELECT array_sort(my_array) as sort FROM table 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
SELECT array_sort(my_array) as sort FROM table
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
这将返回:-
{19,21,24,48}
{19,21,24}
{19,21}
{19}
{16,12,13}
{16,12}
...
我想选择第一个元素不同的最长数组,因此从上面的列表中我可以得到:-
{19,21,24,48} and {16,12,13}
如何实现这一点,我尝试将第一个元素作为一个单独的项目取出,按长度排序,并尝试按如下方式分组:-
SELECT array_sort(my_array) as sort FROM table
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
这不起作用,只对列表进行排序use子句:
使用子句:
考虑重新措辞。还不清楚你在问什么。考虑改写。根本不清楚你在问什么。