티스토리 뷰
반응형
프로젝트를 진행하다보면 가끔씩 랜덤으로 데이터를 정렬해야하는 경우가 있습니다. MSSQL에서는 NEWID()함수를 ORDER BY 절에 사용해서 간단히 랜덤 정렬을 할 수 있습니다.
NEWID() 함수는 새로운 고유 식별자(GUID)를 생성하는 함수입니다. 매번 호출될 때마다 랜덤한 고유한 값을 반환하는데 그 값은 16진수로 표현되는 128비트 값입니다. 이 함수를 ORDER BY 구문과 함께 사용하면 각 행에 대해 랜덤한 값을 생성하여 그 값에 따라 정렬을 수행합니다. 실행할 때마다 그 값이 변경되기 때문에 랜덤 정렬이 가능합니다.
다음 쿼리에 사용한 예입니다.
SELECT * FROM TableName
ORDER BY NEWID();
좀 더 자세한 예제를 통해 확인해보겠습니다. 아래는 랜덤하게 고객 정보를 가지고 있는 Customers 테이블에서 NEWID() 함수를 적용한 예제입니다.
SELECT * FROM Customers
ORDER BY NEWID();
위의 쿼리를 실행하면 Customers 테이블의 모든 레코드가 랜덤한 순서로 반환됩니다. 실행할 때마다 결과가 다르게 정렬되고 고객 정보의 순서가 무작위로 변경됩니다.
예를 들어 맨 처음 실행했을때는 다음과 같은 결과가 나와도
CustomerID | CustomerName
----------------------------
3 | John Doe
1 | Jane Smith
5 | David Lee
2 | Sarah Johnson
4 | Michael Brown
동일한 쿼리를 다시 실행했을 때 결과는
CustomerID | CustomerName
----------------------------
2 | Sarah Johnson
5 | David Lee
1 | Jane Smith
3 | John Doe
4 | Michael Brown
위와 같이 전혀 다른 순서로 출력됩니다.
ORDER BY 절에 간단한 NEWID() 함수만 선언하면 랜덤 정렬이 되기 때문에 이벤트를 하거나 시험문제를 출력할 때 랜덤으로 정렬이 필요하다면 꼭 한 번 사용해보시기 바랍니다.
반응형
'MS-SQL Server > Query' 카테고리의 다른 글
MSSQL에서 데이터 순서 지정하기 : ROW_NUMBER() (0) | 2023.06.21 |
---|---|
MSSQL DB 복원 진행 확인 쿼리 (0) | 2023.06.19 |
MSSQL SET NOCOUNT ON/OFF 에 대해 알아보자 (0) | 2023.06.10 |
MSSQL OFFSET-FETCH 구문을 이용한 페이징 쿼리 (3) | 2023.06.10 |
MSSQL CHARINDEX 함수로 특정 문자 유무 확인하는 법 (0) | 2023.06.08 |
MSSQL 프로시저, 함수 변경이력 확인 쿼리 (0) | 2022.06.15 |
MSSQL 테이블 용량, 건수 확인 쿼리 (0) | 2022.05.26 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이순신
- 비스페놀A
- Roma
- 환경호르몬
- mssql
- html
- favicon
- 템즈강
- 플라스틱
- javascript
- jquery
- ASP.NET
- toFixed
- 한글깨짐
- london
- 런던
- DATEDIFF
- URL
- 자바스크립트
- 인코딩
- MS-SQL
- 로마
- 영국
- 태풍
- 체크박스
- iframe
- USB
- 고성
- 근위병교대식
- ASP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함