1
내부 하위 그룹에서 하나 개의 라인을 멀티 - 선택 :는 SQL 다음 표를 감안할 때 같은 테이블
id | group_s | name
_____________________
1 | 1 | pollo
2 | 1 | cordero
3 | 1 | cerdo
4 | 2 | tomates
5 | 2 | naranjas
6 | 2 | manzanas
나는 무작위로 각 그룹에서 한 줄을 선택하고 싶습니다. 가능한 출력 예 (이 랜덤이기 때문에)
id | group_s | name
_____________________
3 | 1 | cerdo
5 | 2 | naranjas
또는
id | group_s | name
_____________________
1 | 1 | pollo
6 | 2 | manzanas
및
등등 ..I는 그것을 어떻게 알지 못한다. 나는 그 테이블을 다중 선택해야한다고 생각합니다. 이 같은,
SELECT T2.* FROM (
SELECT group_s
FROM mytable
GROUP BY group_s ORDER BY RAND() LIMIT 1) AS T1
JOIN mytable AS T2
ON T1.group_s = T2.group_s;
도움을 주셔서 감사합니다. 귀하의 진술을 내 서버에서 작동하도록 만들려고하지만 (해당 테이블을 만든 후에 진술을 붙여 넣으려고합니다) 그렇지 않습니다. 오류 1064 - 오류 sql 구문 -을 표시합니다. SQL Fiddle 데모가 실행 중임을 분명히 알 수 있습니다. 이 MySQL 버전 문제가 될 수 있습니까? –
@ user903645 - 죄송합니다. SQL Server라고 생각했습니다. MySQL을 사용하려고했지만 할 수는 있었지만, Id가 최소로 매번 무작위로 생성되는 것은 아닙니다. [this sql fiddle demo ] (http://www.sqlfiddle.com/#!2/be046/16). MySQL 태그로 질문의 태그를 다시 지정하고 다른 대답을 기다립니다. 정답이 아니기 때문에이 대답을 수락 할 수도 있습니다. 또한 당신은 할 수 *** mysql row_number ***에 의해 파티션을 통해, 당신은 그것을 할 방법을 설명하는 게시물을 많이 찾을 수 있습니다. –