Existuje niekoľko spôsobov, ako písať SQL príkazy 1: VYBERTE * Z názvu tabuľky ORDER BY RAND() LIMIT Počet dát, ktoré chcete získať; 2: VYBERTE *Z 'TABUĽKY', KDE ID >= (VYBERTE FLOOR( MAX(id) * RAND()) Z 'table' ) ZORADIŤ PODĽA ID LIMIT Počet dát, ktoré chcete získať; 3:VYBERTE * Z 'TABLE' AKO T1 JOIN (VYBERTE ROUND(RAND() * (VYBERTE MAX(id) Z 'table')) AKO ID) AKO ID) AKO T2, KDE t1.id >= t2.id PORADIE PODĽA t1.id ASC LIMIT Počet dát, ktoré chcete získať; 4: VYBERTE * Z 'table'KDE id >= (VYBERTE floor(RAND() * (VYBERTE MAX(id) Z 'table'))) LIMIT PODĽA ID Počet dát, ktoré chcete získať; 5: VYBERTE * Z 'table', KDE id >= (VYBERTE floor( RAND() * (((SELECT MAX(id) FROM 'table')-(SELECT MIN(id) FROM 'table')) + (SELECT MIN(id) FROM 'table'))) ORDER BY id LIMIT Počet dát, ktoré chcete získať; 6:VYBERTE * Z 'TABLE' AKO T1 JOIN (VYBERTE ROUND(RAND() * ((VYBERTE MAX(id) FROM 'table')-(SELECT MIN(id) FROM 'table'))+(SELECT MIN(id) FROM 'table')) AKO ID) AKO ID) AKO T2, KDE t1.id >= t2.id PORADIE PODĽA t1.id OBMEDZIŤ počet dát, ktoré chcete získať; Čas dotazu 1>> čas dotazu 2>> čas dotazu 5> čas dotazu 6> čas dotazu 4> čas dotazu 3, teda3 je najefektívnejší. |