チケット履歴テーブルが1つある状況があります。チケットに対して行われたすべてのアクションを保存します。特定のチケットに対して最初のレコードと最後のレコードを返すクエリを書く方法。例えばテーブルから1つの外部キーに対して最初と最後の行を取得する方法
上記表中の私は日付の列に基づいて、最初の行と最後の行を取得したいID 78580.と1枚のチケットをしました。
チケット履歴テーブルが1つある状況があります。チケットに対して行われたすべてのアクションを保存します。特定のチケットに対して最初のレコードと最後のレコードを返すクエリを書く方法。例えばテーブルから1つの外部キーに対して最初と最後の行を取得する方法
上記表中の私は日付の列に基づいて、最初の行と最後の行を取得したいID 78580.と1枚のチケットをしました。
だけrow_number()
使用:チケットIDごとにグループ化され、最初と最後の日付を取得するために
select t.*
from (select t.*,
row_number() over (partition by ticket_id order by action_when asc) as seqnum_a,
row_number() over (partition by ticket_id order by action_when desc) as seqnum_d
from tickets t
) t
where seqnum_a = 1 or seqnum_d = 1;
使用最小値と最大値を。私が参加し、この中に使用できるかどうか...私は1枚のチケットでそれをフィルタリングして、最初と最後の行を抽出したいので
SELECT ticket_id, min(action_when), max(action_when)
FROM table_name
GROUP BY ticket_id;
両方の回答の組み合わせは、私の問題を解決しました:) –
もう一つの問題は、それが可能である –