我有一個事件表與用戶關聯 我想知道是否有可能編寫一個SQL查詢,選擇創建事件的用戶,最後3個事件的狀態爲'取消」獲取最後5行的屬性,postgres
不計(),其中狀態= '取消',只有在最後3行不得不取消狀態
Select u.* from users AS u
Right Join events as e ON e.user_id = u.id
WHERE {last 3 rows have e.status = 'canceled'}
Order by e.created_at
Group by u.id
事件表:
user_id, status, created_at
1, 'canceled', 2017-04-21
1, 'finished', 2017-04-20
1, 'finished', 2017-04-19
1, 'canceled', 2017-04-18
1, 'canceled', 2017-04-17
2, 'canceled', 2017-04-21
2, 'canceled', 2017-04-20
2, 'canceled', 2017-04-19
2, 'finished', 2017-04-18
2, 'finished', 2017-04-17
請張貼一些示例數據和預期輸出。 –