2014-04-21 5 views
1

이름이있는 열이있는 표가 있습니다. 이름이 같은 여러 행이 있어야합니다. 나는 모든 이름의 행을 4 % 무작위 샘플로 결과를 줄 수있는 쿼리를 만드는 방법을 찾아야한다. 예를 들어, 테이블에 각 이름의 100 행이있는 경우 해당 열의 각 이름에 대해 4 개의 임의 행을 반환합니다. 말이 돼? 내 테이블과 같은 방법SQL 결과의 무작위 샘플

이입니다

Id name order_id 
1  john 10 
2  mike 11 
3  jay 12 
4  john 13 
5  jay 14 
6  mike 15 
*  
* 
25000 jay 25010 

그리고 결과 정말 존의 order_ids의 4 %의 무작위 표본 플러스 제이의 order_ids의 4 % 무작위 샘플이 필요합니다. (이것이 희망을 분명히 함)

나는이 질문을 게시했지만 Access SQL을 위해 게시했지만 정규 SQL을 사용하기 위해서는 몇 가지 사항을 알 수있었습니다. 아직 SQL에 익숙하지 않습니다. 어떤 안내도 크게 감사드립니다 !!!!! :)

+0

위의 예는 추가 한 경우 – rodrigocf

답변

0

MySQL의

SET @skip=1; 
SET @numrows=(select count(*) * 0.04 from test); 
PREPARE STMT FROM 'SELECT distinct names FROM test order by rand() LIMIT ?, ?'; 
EXECUTE STMT USING @skip, @numrows;