>  기사  >  백엔드 개발  >  PHP mysql에서 무작위로 여러 데이터 조각을 얻는 방법

PHP mysql에서 무작위로 여러 데이터 조각을 얻는 방법

藏色散人
藏色散人원래의
2022-01-06 09:09:572972검색

php mysql에서 여러 데이터를 무작위로 얻는 방법: 1. "SELECT * FROM tablename ORDER BY RAND() LIMIT"를 통해 데이터 가져오기 2. "ORDER BY t1.id ASC LIMIT"를 통해 지정된 개수의 데이터 가져오기; , 등. .

PHP mysql에서 무작위로 여러 데이터 조각을 얻는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터.

php mysql은 어떻게 여러 데이터 조각을 무작위로 얻나요?

Mysql은 여러 데이터 조각을 무작위로 얻는 방법을 구현합니다.

SQL 문을 작성하는 방법에는 여러 가지가 있습니다.

1: SELECT * FROM tablename ORDER BY RAND () LIMIT 데이터 항목 수를 얻고 싶습니다.

2: SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT 가져오려는 데이터 항목 Number;

3: SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2 .id

ORDER BY t1.id ASC LIMIT 확보하려는 데이터 항목 수;

4: SELECT * FROM `table`WHERE id >= (SELECT Floor( RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT 가져오려는 데이터 항목 수;

5: SELECT * FROM `table` WHERE id >= (SELECT Floor( RAND() * ((SELECT MAX(id ) FROM `테이블`)-(SELECT MIN(id) FROM `테이블`)) + (SELECT MIN(id) FROM `테이블`))) ORDER BY id LIMIT 가져오려는 데이터 항목 수;

6 :SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id ) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 얻고자 하는 데이터 항목의 수 ;

피드백:

실제로 측정된 데이터는 380,000개이며, 10개 항목을 무작위로 선택할 수 있으며 실행 시간은 1~2초입니다. 2. 20초 이상 실행해도 반응이 없습니다. 3번 시도했습니다. 3 가져온 10개의 데이터는 연속된 ID이며, 실행하는데 걸리는 시간은 0.001초이다. 4 ID가 1~4000 사이인 항목 10개를 무작위로 선택하고 0.003초 동안 실행한 후 10회 이상 시도합니다. 5 ID가 1~4000 사이인 항목 10개를 무작위로 선택하고 0.003초 동안 실행한 후 10회 이상 시도합니다. 6 가져온 10개의 데이터는 연속된 ID이며, 실행하는데 걸리는 시간은 0.001초이다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP mysql에서 무작위로 여러 데이터 조각을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.