MySQL 데이터 무작위화 및 정렬
MySQL에서는 ORDER BY 절을 rand() 함수와 결합하여 임의의 레코드를 검색할 수 있습니다. 테이블. 그러나 다른 열을 사용하여 무작위 결과를 추가로 정렬하려고 하면 예상치 못한 동작이 발생할 수 있습니다.
이 문제를 해결하려면 쿼리를 하위 쿼리로 구성해야 합니다. 내부 쿼리는 ORDER BY rand() LIMIT 20을 사용하여 20명의 무작위 사용자를 검색합니다.
<br>SELECT * FROM users ORDER BY rand() LIMIT 20<br>
임의의 사용자가 포함된 결과 임시 테이블은 외부 쿼리에 의해 참조됩니다. 외부 쿼리는 이름 열을 기준으로 임시 테이블을 오름차순으로 다시 정렬합니다.
<br>SELECT * FROM <br>(</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">SELECT * FROM users ORDER BY rand() LIMIT 20
) T1
ORDER BY name ASC
이 접근 방식을 사용하면 최종 결과 집합이 무작위로 선택된 20명의 사용자로 구성되며 이름을 기준으로 오름차순으로 정렬됩니다.
위 내용은 MySQL에서 데이터를 무작위로 선택하고 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!