PostgreSQL array_agg 顺序

2023-12-19

表“动物”:

animal_name animal_type
Tom         Cat
Jerry       Mouse
Kermit      Frog

Query:

SELECT 
array_to_string(array_agg(animal_name),';') animal_names,
array_to_string(array_agg(animal_type),';') animal_types
FROM animals;

预期结果:

Tom;Jerry;Kerimt, Cat;Mouse;Frog
OR
Tom;Kerimt;Jerry, Cat;Frog;Mouse

我能否确定第一个聚合函数中的顺序始终与第二个聚合函数中的顺序相同。 我的意思是我不想得到:

Tom;Jerry;Kermit, Frog;Mouse,Cat

使用 ORDER BY,就像来自manual http://www.postgresql.org/docs/current/static/sql-expressions.html#SYNTAX-AGGREGATES:

SELECT array_agg(a ORDER BY b DESC) FROM table;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL array_agg 顺序 的相关文章

  • PostgreSQL WHERE 计数条件

    我在 PostgreSQL 中有以下查询 SELECT COUNT a log id AS overall count FROM Log as a License as b WHERE a license id 7 AND a licens
  • postgresql ON CONFLICT 具有多个约束

    有一个约束违规处理 冲突时 语句 如果我想检查 1 个 约束 则工作正常 例如 INSERT INTO my table co1 col2 colN VALUES ON CONFLICT col1 col2 DO NOTHING or up
  • Postgres 多重连接

    这是一个 postgres 数据库 我试图从品种表中提取狗的品种名称 卡斯罗 拉布拉多等 以根据动物表中的外键进行显示 我的问题是动物表有两个外键指向这个单一品种表 并且我的查询不断出错 第一个品种名称将根据左连接返回 但第二个品种名称无法
  • Postgres LEFT JOIN 与 WHERE 条件

    我需要使用 where 条件左连接两个表 Table time table id rid start date end date 1 2 2017 07 01 00 00 00 2018 11 01 00 00 00 2 5 2017 01
  • 使用 libpqxx 批量存储数据或如何在 libpqxx 中使用 COPY 语句

    要在 PostgreSQL 中插入批量数据 填充数据库 最快的方法是使用 COPY Source https stackoverflow com questions 758945 whats the fastest way to do a
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 无法在 Windows 10 上安装 Postgresql

    我第一次尝试在我的 Windows 10 计算机上安装 postgreSQL 安装结束时出现两个错误 1 集群初始化期间发生非致命错误 请检查 C users abc AppData Local Temp 中的安装日志了解详细信息 2 运行
  • 执行 SELECT 或 INSERT

    我想写一些类似的东西CASE以我想要的方式在 PostgreSQL 中声明SELECT从表中 如果什么也没找到 我想INSERT改为放入表中 我的示例表allocated ideas看起来像这样 challenge id user id i
  • 如何获取 PostgreSQL 游标的行数?

    我有一个使用创建的光标WITH HOLD允许游标用于后续事务的选项 我想检索游标可以获取的行数 由于保留游标表示的行被复制到临时文件或内存区域中 我想知道是否可以以直接的方式检索该数字 或者唯一的解决方案是获取所有记录来对它们进行计数 在这
  • 列太多的表的缺点

    我有一些数据需要放入 PostgreSQL 数据库中 这些数据与学校有关 所以有很多与学校相关的属性 大部分是小整数 浮点数或小文本 所有数据每年都会发生变化 所以我正在创建一个名为的实体YearlyData并将属性放在那里 但问题是 属性
  • 如何使用准备好的语句在 postgresql 中插入带有时区的时间戳?

    我正在尝试使用准备好的语句将一个字符串插入到数据库的带有时区字段的时间戳中 其中包括日期 时间和时区 问题是 Timestamp valueof 函数没有考虑字符串包含的时区 因此会导致错误 接受的格式是 yyyy m m d d hh m
  • 将现有的 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

    我不想毁掉我网站上的所有用户 但我想利用 Django 1 5 的自定义可插入用户模型 这是我的新用户模型 class SiteUser AbstractUser site models ForeignKey Site null True
  • 查找具有唯一两列组合的所有行

    我有这张桌子messages sender id recipient id 1 2 1 3 1 3 2 1 3 1 2 3 我希望选择这样的行 Either sender id or receiver id current user id
  • 使用临时表替换 WHERE IN 子句

    我让用户输入我需要在表中查询的值列表 该列表可能非常大 并且长度在编译时未知 而不是使用WHERE IN 我认为使用临时表并对其执行联接会更有效 我在另一个SO问题中读到了这个建议 目前找不到它 但会在找到时进行编辑 要点是这样的 CREA
  • 通过 JDBC 与 CLI 使用 MIT Kerberos 连接到 PostgreSQL 9.4 时出错

    我已经使用 MIT Kerberos 5 设置了 PostgreSQL 9 4 并且可以使用 psql 在 CLI 上连接 提交指纹后 我的委托人是 bgiles postgres REALM pg hba conf 有 host all
  • Pycharm错误:配置不正确

    在我的 DEV 计算机意外关闭后 当返回 Pycharm 项目时 我注意到我正在编辑的 Django 视图文件 有 700 多行 发生这种情况时 它完全是空的 我设法从备份中恢复它 那里没有损失 尝试调试时出现问题 它返回此错误 不正确配置
  • 连接到 Docker Postgres 容器连接超时

    所以我所做的是 docker run d e POSTGRES USER user e POSTGRES PASSWORD 456789 name admin service p 5432 5432 postgres 当我检查时docker
  • Rails 4 - 如何在开发中使用 sqlite3 以及在生产中使用 PostgreSQL 和 Heroku

    我正在尝试部署到 Heroku 但不能 因为默认的 sqlite3 服务器仍然存在 检测到 Heroku 不支持 sqlite3 gem https devcenter heroku com articles sqlite3 https d
  • 使用 Rails 中的 postgres json 字段更新嵌套键

    我一直在尝试更新以下内容 boxes book 2 moving 2 goods to boxes book new 2 moving 2 goods 无需使用正则表达式或在 ruby 中执行此操作 但似乎有点棘手 我想添加新密钥 然后删除
  • Postgresql:SERIAL 在约束 INSERT 失败时递增

    有一个像这样的简单表结构 CREATE TABLE test id INT PRIMARY KEY sid SERIAL 我注意到如果我尝试插入一行但它未通过约束测试 即主键约束 SERIAL计数器无论如何都会增加 所以下一次成功插入 si

随机推荐