보통 쿼리를 실행하면 아래와 같이 ASC로 정렬되어 결과가 조회된다.
//쿼리
SELECT id, name
FROM table
WHERE id IN (1, 3, 2, 4, 5, 7, 6);
//결과
id | name
---+-------
1 | Byeon
2 | John
3 | Jane
4 | Peter
5 | Mary
6 | David
7 | Susan
그래서 하고 싶은 게 뭔데?
WHERE id IN (1, 3, 2, 4, 5, 7 ,6) 아래 IN 절에 기입된 ID 기준으로 정렬을 해서 보고 싶다.
//쿼리
SELECT id, name
FROM table
WHERE id IN (1, 3, 2, 4, 5, 7, 6);
ORDER BY array_position(ARRAY[1, 3, 2, 4, 5, 7, 6], id);
//결과
id | name
---+-------
1 | Byeon
3 | Jane
2 | John
4 | Peter
5 | Mary
7 | Susan
6 | David
array_position(ARRAY[1, 3, 2, 4, 5, 7, 6], id) 를 통해 정렬 값을 IN 절에 기입된 순서로 데이터를 받아 볼 수 있다.
끄읏 :)
'DATABASE > POSTGRESQL' 카테고리의 다른 글
psql 명령어를 사용하여 원격지 DataBase 복원해보기 (0) | 2023.05.10 |
---|---|
Excluded 명령어는 언제사용하는가? (0) | 2022.12.02 |
PostgreSQL 살펴보자 (0) | 2022.05.27 |