login register Sysop! about ME  

2021년 11월 25일 13시 38분 00초,     조회수 : 96
  제목 : RE : 랜덤으로 하나를 추출할때 비율을 적용하는 쿼리 질문입니다.
SEQ : 28477 글쓴이 : supercore

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

호랑이 곰방대 시절 AdRotator 에 넣고 돌렸던 기억이;;;

1. 안된다고 한다!

2.  가짜로 확율 랜덤을 만들어 본다.
declare @idx int, @fruit nvarchar(20), @qty int

declare @tmp table (
	   idx int,
	   fruit nvarchar(20),
	   qty int
)

declare @result table (
	   idx int,
	   fruit nvarchar(20)
)


insert into @tmp values 
	   (1, '사과', 7),
	   (2, '딸기', 2),
	   (3, '포도', 1),
	   (4, '단감', 3)


select * from @tmp


declare cursor_fruit cursor for
	   select idx, fruit, qty from @tmp
open cursor_fruit
fetch next from cursor_fruit into @idx, @fruit, @qty

while @@FETCH_STATUS = 0
begin
	   while @qty > 0
	   begin
	   	   insert into @result values (@idx, @fruit)

	   	   set @qty = @qty - 1
	   end

	   fetch next from cursor_fruit into @idx, @fruit, @qty
end

close cursor_fruit
deallocate cursor_fruit

select top 1 * from @result order by newid()


3. 다시 1번으로 간다.


  chokhoon
  2021-11-25(16:11)
답변 감사합니다.
바로 쿼리로 뽑아내기는 힘들다는 말씀이시군요.
배열을 만들어 각 항목의 갯수만큼 배열에 넣은다음(사과7번, 딸기2번...) 배열개수 중에서 랜
덤수를 뽑아와서 취하는 방법을 생각했었는데 쿼리로 될수가 있나 해서 문의드렸습니다.



제목 작성자 날짜 조회
랜덤으로 하나를 추출할때 비율을 적용하는 쿼리 질문입니다. chokhoon 2021-11-23 78
RE : 랜덤으로 하나를 추출할때 비율을 적용하는 쿼리 질문입니다. (1) supercore 2021-11-25 96

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})