이번에는 MS-SQL에서의
랜덤 정렬을 하는 방법을
정리해보려고 합니다.
보통 정렬을 할 때,
오름차순, 내림차순으로
정렬을 많이 합니다.
하지만 하다보면
가끔 랜덤 정렬을 해야 하는 경우도 있습니다.
Oracle나 My-SQL의 경우에는
랜덤함수가 있어서 랜덤함수를 이용하여
정렬할 수 있습니다.
하지만, SQL Server에서는 랜덤함수가 딱히 애매해서
정렬을 할 때 랜덤으로 정렬할 수 없습니다.
그래서 SQL Server에서는 유니크값을 생성해서
해당 값을 기준으로 정렬을 시킬 수 있습니다.
유니크값을 생성하는
함수는 NEWID() 입니다.
우선, NEWID()값을 사용하는
예제를 확인해보도록 하겠습니다.
예제 쿼리는 다음과 가습니다.
1111111111111
위처럼 하면 됩니다.
그러면 결과는 아래처럼 나오게 됩니다.
위처럼 나오게 됩니다.
이상한 유니크 값이 나오게 되는 것입니다.
그리고 위의 쿼리를
다시 한번 동작시키면
결과는 아래처럼 나옵니다.
위처럼 결과가 달라진 것을
확인할 수 있습니다.
이렇게 랜덤으로 나오는
유니크 값을 기준으로
랜덤 정렬을 할 수 있는 것입니다.
그러면 이제 MS-SQL에서
랜덤으로 정렬하는 방법을
정리해보고자 합니다.
우선, 기본적으로 데이터가 어떻게 들어가져 있는지
확인을 해 보아야겠죠?
아래처럼 쿼리를 작성하였습니다.
222222222
위처럼 하여 실행을 하면
결과는 다음과 같이 나옵니다.
위처럼 나오게 됩니다.
제가 데이터를 넣었던 순서대로이고,
이렇게 데이터가 들어가져 있습니다.
그러면 이번에는
랜덤으로 정렬이 되도록
해보도록 하겠습니다.
쿼리는 다음과 같이 하였습니다.
3333333333
위처럼 쿼리를 하고
실행을 해 보았습니다.
그랬더니 결과는 다음과 같이 나왔습니다.
위처럼 랜덤으로 정렬이 되어 나온것을
확인할 수 있었습니다.
그리고 위 쿼리를 한번 더
실행을 해보았습니다.
그랬더니 결과는 다음과 같이 나왔습니다.
역시나 결과가 또다시 바뀐 것을
확인할 수 있었습니다.
그러면 이번에는
랜덤으로 하나의 데이터만 나오게 해보는 것을
봐보도록 하겠습니다.
저는 그냥 간단하게 top 명령어를 사용하였습니다.
그래서 아래처럼 작성하였습니다.
444444444444
위와 같이 작성하고
실행을 해보았습니다.
그랬더니 결과는 다음과 같이 나오게 되었습니다.
위처럼 랜덤으로 정렬이 되어서
하나의 데이터만 나와진 것을
확인할 수 있었습니다.
그리고 위 쿼리를 다시 그대로 돌리면
결과는 아래처럼 나와집니다.
또다시 정렬이 바뀌어서
나와진 것을
확인할 수 있습니다.
이번에는 SQL SERVER에서 랜덤으로 정렬하는 방법을
정리해보았습니다.
정식 랜덤함수를 사용한 것이 아니기 때문에
완전 좋다고는 할 수 없으나,
대신에 사용할 수 있는 방법을 정리해보았습니다.
굳이 정렬 뿐 아니라
다른 상황에서도
유니크한 값을 가져오게 하여
필요에 따라서 사용할 수도 있을 것 같습니다.
이상으로 MS-SQL에서의
유니크값을 가지고와서
랜덤 정렬하는 방법이였습니다~
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
MS-SQL에서 테이블별 사이즈 및 건수 확인하기 (0) | 2020.04.13 |
---|---|
MS-SQL에서 단어자동완성 옵션 활성화 및 해제하기 (0) | 2020.04.09 |
MS-SQL에서 프로시저 및 함수 쿼리 확인 및 생성,수정일자 등 정보 확인하기 (0) | 2020.03.09 |
MS-SQL에서의 TRY, CATCH 이용 에러 예외처리 (0) | 2020.02.28 |
MS-SQL에서 쿼리 이력 조회하기 (6) | 2020.02.26 |