열 이름이 category
인 MySQL 테이블이 있습니다. 각 category
에서 2 개의 임의의 레코드를 반환하는 쿼리를 작성하려고합니다. 일부 샘플 데이터와 위의 쿼리와 테이블을 볼 수MySQL의 각 'group by'카테고리에서 임의의 수의 임의의 행을 검색하십시오.
SELECT e1.*
FROM entries AS e1
WHERE (SELECT Count(*)
FROM entries AS e2
WHERE e2.category = e1.category
AND e1.rating <= e2.rating) <= 2
ORDER BY category,
rating DESC
확인이 링크 아웃 : 여기
내가 내 rating
열에서 가장 높은 값으로 각 category
에서이 개 기록을 얻기 위해 사용하는 코드입니다 : http://sqlfiddle.com/#!9/bab8e/1
각 카테고리에서 임의의 레코드가 필요합니다. 또는 뭔가, 당신이 포함 된 쿼리와 관련이 있습니다 ..!? – Chella
쿼리는 내가 작업하고있는 것을 보여주기 위해 각 카테고리의 테이블 10 개에 30 개 항목이 있다고 말하면서 각 카테고리의 2 개의 임의 항목을 검색하고 싶습니다. 그러면 6 개의 결과가 반환됩니다. – Ivar
이 게시물을보십시오 : http://stackoverflow.com/questions/984396/how-to-get-mysql-random-integer-range – ntgCleaner