我有一種感覺,當這被回答時,我會覺得很愚蠢。我有一張客戶表和一張訂單表。我想要一個查詢,給我一個所有客戶的列表,以及他們的最後一個訂單信息(如果有),按客戶名稱排序。Postgres - 獲取所有客戶和最新訂單
SELECT c.id, c.name, o.order_time, o.item_name
FROM clients AS c LEFT JOIN(
SELECT client_id, max(order_time) AS order_time
FROM orders GROUP BY client_id
) AS o
ON(c.id = o.client_id)
ORDER BY UPPER(c.name)"
我的問題是我得到了我想要,如果我刪除o.item_name行,但作爲查詢寫是無效的,因爲沒有辦法讓o.item_name沒有把它在GROUP BY。當然,這會導致它爲每個客戶端返回多行。希望我的意圖很明確。
在這第二個查詢中,定義了'o.rn' ? –
@JorgeCampos:謝謝,複製和粘貼錯誤 –
也許它應該是一個極限1而不是 –