names
이라는 테이블이 있는데, 유니크로 카운트 (*) 한 후 2 개의 이름을 선택한 다음 전체 샘플 풀에서 다른 2 개의 이름 만 선택하려고합니다. . 상기 제 2 이름 전체 풀에서 선택 반면SQL : 동일한 테이블과 동일한 열에서 선택하십시오. 다른 숫자로만 입력하십시오.
firstname
John
John
Jessica
Mary
Jessica
John
David
Walter
그래서 이렇게 명백한 바이어스 될 것이며, 상기 제 2 이름 John
, Jessica
풀 선택할 것이고, Mary
등 그들을 선택 될 동일한 기회를주는 복수 행이있는 John
및 Jessica
에 지정됩니다.
내가 할 수있는 방법이 있지만 확실하지는 않습니다. 뭔가를하고 싶습니다
SELECT uniq.firstname
FROM (SELECT firstname, count(*) as count from names GROUP BY firstname) uniq
limit 2
AND
SELECT firstname
FROM (SELECT firstname from names) limit 2
이게 가능합니까? 모든 포인터를 감사하십시오.
그래서 ... 당신은 두 번 선택하려면 전체 풀에서 선택하는 유사한 접근 방식을 따라,하지만 난 당신의 기준에 안개입니다. 첫 번째 선택에서 두 개의 임의의 이름을 선택 하시겠습니까? 두 번째로 가장 많이 표시되는 두 개의 이름을 선택 하시겠습니까? 선택 기준은 무엇입니까? – JNevill
예. 실제 데이터베이스는 실제로 훨씬 더 큽니다. 단지 일러스트레이션을 위해 단순화했습니다. 첫 번째 선택은 이름에 모든 가능성을 부여하지만 두 번째 선택은 가장 대표적인 것에 편향됩니다. – user1899415
[SQL에서 임의의 행을 선택하는 방법]의 가능한 복제본 (http://stackoverflow.com/questions/580639/how-to-randomly-select-rows-in-sql) – Ram