首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合查询结果

聚合查询结果
EN

Stack Overflow用户
提问于 2021-10-22 00:18:52
回答 1查看 37关注 0票数 0

我有两个表,第二个表包含引用第一个表主键的外键。

第一表“房屋”(id,title,city,country),第二表“图像”(id,name,house_id)

我正在实现以下查询:

代码语言:javascript
复制
SELECT * FROM houses INNER JOIN images ON houses.id = images.house_id;

结果是一个重复数据数组,除了字段名:

代码语言:javascript
复制
[ 
  {
    id:1,
    title: "house1",
    city:"c1",
    country:"country2",
    name:"image1",
    house_id: 2

  },
   {
    id:2,
    title: "house1",
    city:"c1",
    country:"country2",
    name:"image2",
    house_id: 2
  },
   {
    id:3,
    title: "house1",
    city:"c1",
    country:"country2",
    name:"image3"
    house_id: 2,
  },
]

如何调整查询以获得如下结果:

代码语言:javascript
复制
[
  {
    id:2,
    title: "house1",
    city:"c1",
    country:"country2",
    imagesNames:["image1","image2","image3"]
    house_id: 2,
  }
]

它可以使用knex吗?我正在使用一个PostgreSQL数据库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-22 01:30:15

GROUP BY由所有对等方共享的所有列和聚合名称。比如:

代码语言:javascript
复制
SELECT h.id, h.title, h.city, h.country
     , array_agg(name) AS images_names
     , i.house_id -- redundant?
FROM   houses h
JOIN   images i ON h.id = i.house_id;
GROUP  BY h.id, h.title, h.city, h.country, i.house_id;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69670105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档