我有一個users表和一個pic_urls表,我想從幾個用戶中提取資料。pic_urls每個用戶在表中可能有幾行。這是我到目前為止的 SQL:
SELECT
users.id,
users.firstname,
users.lastname,
pic_urls.url
FROM users
JOIN pic_urls
ON users.id = pic_urls.user_id
WHERE users.id != ?
到目前為止,我從users表中獲得了我想要的所有資訊,但只有pic_urls每個用戶的最后一行。我的問題是,如何將pic_urls表格的幾行(用戶通常有幾張圖片)分組到一個陣列或其他東西中?
uj5u.com熱心網友回復:
一種選擇使用相關子查詢:
select u.id, u.firstname, u.lastname,
(
select json_arrayagg(pu.url)
from pic_urls pu
where pu.user_id = u.id
) all_urls
from users u
這會將每個用戶行上的 json 陣列中的所有圖片 url 聚合起來。其他聚合選項可用,例如group_concat()字串聚合。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524162.html
下一篇:計算超過3個帖子的用戶數
