2012-11-21 5 views

답변

2

당신은 이런 식으로 그것을 할 수 :

SELECT * FROM mytable ORDER BY RAND(); 

이것은 예를 들어 here에 언급되어있다. documentation에서 언급했듯이 rand()은 완벽하게 임의의 숫자/시퀀스를 생성하지 않습니다 (하지만 웹 사이트에서 실제로 사용하기에 충분할 것입니다).

당신은 또한 (예를 들어, 5) 기록 만 N을 선택 limit을 사용할 수

SELECT * FROM mytable ORDER BY RAND() LIMIT 5; 
+0

덕분에 매우 효율적되지 않습니다. 내 코드에서 사용하려고했습니다. 작동하지만 다음 페이지를 클릭하면 1 페이지의 일부 데이터가 2 페이지에 표시됩니다. 내 PHP 코드를 편집하려했지만 작동하지 않습니다. ORDER BY Rand() 대신 PHP 코딩을 사용해야합니까? 감사 : D – user1822825

+0

@ user1822825 예, 쿼리가 실행될 때마다 ("다음 페이지"에서 발생하는 PHP 스크립트를로드 할 때마다 실행됩니다), 모든 것이 무작위로 처리됩니다. 이것을 피하려면 PHP보다는 무작위 화를하는 것이 더 바람직하다고 생각합니다. 페이지 간의 재 랜덤 화를 피하기 위해 일부 논리가 필요합니다. 나는 그것이 당신이 당신의 필요를 명확히하고 명기하는 또 다른 포스트를위한 질문이 될 것이라고 생각합니다 ... – poplitea

2

검색어에 ORDER BY RAND() 절을 추가합니다.

한 경고하지만,이 분류는 ... 대답에 대한

1
SELECT * FROM clients 
ORDER BY RAND() 
관련 문제