2011-08-03 3 views
0

다음 쿼리를 사용하여 임의의 행을 가져 오려면mysql을 사용하여 내부 조인에서 임의의 행을 얻는 방법은 무엇입니까?

'SELECT * FROM TABLENAME1 ORDER BY RAND() LIMIT 1' '입니다. 이 쿼리는 임의의 행을 반환합니다.하지만 다른 테이블에 배치 된 이름을 가져와야합니다. 여기에서 조인 쿼리를 사용해야합니다.

'SELECT tablename1.*,tablename2.name FROM tablename1 INNER JOIN tablename2 ON tablename1.id = tablename2.id ORDER BY RAND(tablename1.id)'

위의 쿼리는 내가 임의 rows.Kindly이 나를 도와 못하고 있어요, 매번 같은 행을 반환합니다.

답변

1

RAND(tablename1.id)은 의사 난수 생성기의 시드로 tablename1.id을 사용하므로 매번 동일한 결과가 나타납니다. 두 번째 쿼리에서 RAND()을 사용해보세요.

1

어떤 이유로, 검색어의 두 번째 버전을 tablename1.id이라고합니다. 동일한 시드 값을 사용하여 RAND()를 호출하면 동일한 결과가 반환됩니다.

관련 문제