데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
Value
1
2
3
4
5
6
Value라는 컬럼에 숫자값이 들어있는데,
Order by newid()로 랜덤출력을 했는데요.
예를들어, 6은 맨밑에 고정이어야하고
랜덤출력인데 중간에있는 2,3값은 반드시 붙어서 랜덤을 돌아야 하는 쿼리는 어떻게 짜야할까요ㅠㅠㅠ
if object_id('tblx') is not null
drop table tblx
go
create table tblx
(cIdx int identity(1,1))
go
insert into tblx default values
go 6
declare @newid varchar(100) = newid()
select *
from tblx
order by
case cIdx when 6 then 2 else 1 end
, case when cIdx in (2,3) then @newid else newid() end
, cIdx