Postgresql
group by、order by 並選擇每組中列的最後一個值
我正在使用 PostgreSQL 9.6。我有一個“事件”表。我需要按“item_id”列分組,然後按每個組中的“日期”列排序,然後選擇每個組中“value_num”列的最後一個值。請幫助我如何做到這一點。
我想你想要一個“每組最大的”查詢。在 Postgres 中實現這一目標的最簡單(但不一定是最有效)的方法是使用**
DISTINCT ON
**:select distinct on (item_id) -- defines the "group" item_id, date, value_num -- show 1 row per group from events order by item_id, date desc ; -- which order to be used