在Postgresql
中,有效地選擇了每個組的第一行 >本指南演示瞭如何在PostgreSQL中有效檢索每個組的最早條目,這是使用分組數據時的常見任務。 最有效的方法利用
子句。
DISTINCT ON
子句DISTINCT ON
> PostgreSQL的
DISTINCT ON
<code class="language-sql">SELECT DISTINCT ON (column_list) FROM table_name ORDER BY column_list, ...;</code>
考慮帶有列,和
如果列允許null值,則在>子句中include
>子征服: ,然後為這些客戶的最小 臨時表/ctes:purchases
id
customer
重要的考慮因素:total
id
<code class="language-sql">SELECT DISTINCT ON (customer)
id, customer, total
FROM purchases
ORDER BY customer, total DESC, id;</code>
對於每個客戶的數據集,替代策略可能會更有效:total
>或NULLS LAST
中的列。
ORDER BY
SELECT
> DISTINCT ON
以不同於分組順序的最終結果,嵌套查詢並應用輔助ORDER BY
子句。
DISTINCT ON
>
ORDER BY
(customer, total DESC, id)
選擇該行。
以上是如何檢索PostgreSQL中每個組的最早條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!