加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在postgresql中对使用array_agg创建的文本聚合进行排序

发布时间:2020-12-13 16:28:49 所属栏目:百科 来源:网络整理
导读:我在postgresql中有一个表.下表“动物”将会解释我的问题: name------tigercatdog 现在我使用以下查询: SELECT array_to_string(array_agg("name"),',')FROM animals; 结果是:“老虎,猫,狗”.但是,我想在将其转换为字符串之前对其进行排序.所以这是我希望
我在postgresql中有一个表.下表“动物”将会解释我的问题:
name
------
tiger
cat
dog

现在我使用以下查询:

SELECT
    array_to_string(array_agg("name"),',')
FROM
    animals;

结果是:“老虎,猫,狗”.但是,我想在将其转换为字符串之前对其进行排序.所以这是我希望的结果:

"cat,dog,tiger".

那么在将其转换为字符串之前,如何在postgresql 8.4中排序字符串数组.行“名称”上的ORDER BY不起作用,内置的排序函数只处理整数值.

任何人都有个好主意,如何在纯SQL中解决这个问题?

非常感谢
理查德

这将在PostgreSQL 9.0中提供:

http://www.postgresql.org/docs/9.0/static/release-9-0.html,E.1.3.6.1节.骨料

在此期间,您可以做这样的事情,这可能会解决问题(虽然笨重):

SELECT array_agg(animal_name)
FROM (
    SELECT "name" AS animal_name
    FROM animals
    ORDER BY "name"
) AS sorted_animals;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读