MySQL 8
MySQL 8
SELECT user_id,
JSON_ARRAYAGG(product_name) AS products
FROM order_items
GROUP BY user_id;PostgreSQL
PostgreSQL
SELECT user_id,
json_agg(product_name ORDER BY product_name) AS products
FROM order_items
GROUP BY user_id;| MySQL | JSON_ARRAYAGG(expr)、JSON_OBJECTAGG(key, value) |
|---|---|
| PostgreSQL | json_agg / jsonb_agg;对象用 jsonb_object_agg |
| 顺序 | PG 支持在聚合内 ORDER BY;MySQL 需先在子查询里排序 |