사용자별로 주문데이터를 조회하려고 하는데요
아래와 같이 사용자별 첫데이터 기준으로 (최신주문일 기준) 정렬이 되어야 하고
사용자별로 그 아래쪽에 해당 사용자의 주문데이터가 같이 표시가 되어야 합니다.
어떤식으로 쿼리를 짜야할까요? 조언 부탁 드리겠습니다.
A사용자
2023-02-16
2023-02-01
B사용자
2023-02-15
2023-02-02
DB자체는 아래와 같이 들어가 있습니다.
A사용자 2023-02-16
B사용자 2023-02-15
B사용자 2023-02-02
A사용자 2023-0201
Comment 5
-
지영아빠
2023.02.17 09:28
-
냥냥
2023.02.17 10:33
저 데이터 상으로는 알려주신 부분이 가능하긴 하네요 ^^;
다만 B사용자의 주문데이터가 2023-02-18 이라면 B사용자의 데이터가 위로 올라가야 하는 형태입니다.
-
지영아빠
2023.02.17 12:52
with tmp as ( select 'A' as member, '2023-02-16' as dt union all select 'B' as member, '2023-02-15' as dt union all select 'B' as member, '2023-02-02' as dt union all select 'A' as member, '2023-02-01' as dt union all select 'C' as member, '2023-02-18' as dt ) select a.member, a.dt from tmp a inner join (select member, max(dt) as dt, row_number() over (order by max(dt) desc) as row_num from tmp group by member) b on a.member = b.member order by b.row_num, a.member
-
냥냥
2023.02.17 17:21
답변 감사드립니다~ ^^
적용해 보도록 하겠습니다.
-
영어탈피
2023.03.11 15:58
SELECT * FROM orders ORDER BY (SELECT MAX(order_date) FROM orders o2 WHERE o2.user_id = orders.user_id) DESC, user_id, order_date DESC;cmd_comment_vote_user Upvote0 Downvote0 Comment Update Delete
order by 사용자 asc, 주문날짜 desc