MYSQL array aggregate function like PostgreSQL array_agg

后端 未结 3 1016
青春惊慌失措
青春惊慌失措 2020-12-06 10:55

I got two tables on MYSQL, I wonder if there is any aggregate function on MYSQL as array_agg() FROM postgreSQL.

TABLE 1 properties Only have 8 records TABLE 2 record

3条回答
  •  醉梦人生
    2020-12-06 11:15

    MySQL 5.7.22 introduced JSON_ARRAYAGG() and JSON_OBJECTAGG(). Since you want the user name as well, you could use the latter:

    SELECT p.id, JSON_OBJECTAGG(pcb.users_admin_id, ua.name) as uin
    FROM properties p
    INNER JOIN prop_captured_by pcb ON p.id = pcb.property_id
    INNER JOIN users_admin ua ON ua.id = pcb.users_admin_id
    group by p.id;
    

    DB Fiddle

提交回复
热议问题