gpt4 book ai didi

sql - PostgreSQL - 使用数组排序。我可以动态创建数组吗?

转载 作者:行者123 更新时间:2023-11-29 14:23:59 25 4
gpt4 key购买 nike

我正在使用 PostgreSQL 9.1.13

这是我到目前为止所做的:

/* First Array ==> SELECT raggruppamento FROM ok_filiali GROUP BY raggruppamento ORDER by count(raggruppamento) DESC */
/* Second Array ==> SELECT banker FROM ok_filiali GROUP BY banker ORDER by count(banker) DESC */

SELECT mandato, raggruppamento, banker
FROM ok_filiali
ORDER BY
idx(array['MI','FI','BS','RM','BO','TO','GE','*','PD','PR'], ok_filiali.raggruppamento),
idx(array['120','MF','28','921','30','29','56','38','76','33', '27', '8037', '5038', '173', '5984', '45', '104', '46',
'84', '284', '176', '5311', '209', '248', '5138', '5064', '325',
'171', '348', '255', '274', '373', '5915', '318', '5076'], ok_filiali.banker)

现在我已经使用了上述查询并手动创建了 2 个数组。

我需要做的是动态创建用于 Order By 的 2 个数组(直接使用 2 个查询)

这有可能吗?

谢谢

最佳答案

如果我理解正确的话,您的目标是根据某些值出现的频率对结果进行排序。使用 window functions 更容易完成此操作

SELECT mandato, raggruppamento, banker, 
COUNT(*) OVER (PARTITION BY raggruppamento) AS order1.
COUNT(*) OVER (PARTITION BY banker) AS order2
FROM ok_filiali
ORDER BY order1 DESC, order2 DESC;

关于sql - PostgreSQL - 使用数组排序。我可以动态创建数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com