Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12683|Respuesta: 0

[Fuente] MySQL implementa un método para obtener aleatoriamente varias piezas de datos

[Copiar enlace]
Publicado en 19/7/2017 21:34:04 | | |

Existen varias formas de escribir sentencias SQL
1: SELECT * FROM TABLENAME ORDER BY RAND() LIMIT El número de piezas de datos que quieres obtener;
2: SELECCIONA *DESDE 'TABLE' DONDE ID >= (SELECCIONA FLOOR( MAX(id) * RAND()) DESDE 'table' ) ORDENAR POR ID LÍMITE Número de datos que quieres obtener;
3:SELECT * FROM 'table' COMO T1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM 'table')) COMO ID) COMO T2 DONDE t1.id >= t2.id
ORDENAR POR t1.id LÍMITE DE ASC El número de piezas de datos que quieres obtener;
4: SELECT * FROM 'table'WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) DESDE 'table'))) ORDENAR POR LÍMITE DE ID El número de piezas de datos que quieres obtener;
5: SELECT * FROM 'table' DONDE id >= (SELECT floor( RAND() * (((SELECT MAX(id) DE 'table')-(SELECT MIN(id) FROM 'table')) + (SELECT MIN(id) FROM 'table'))) ORDEN POR ID LIMIT El número de datos que quieres obtener;
6:SELECT * FROM 'table' COMO T1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) DE 'table')-(SELECT MIN(id) FROM 'table'))+(SELECT MIN(id) FROM 'table')) COMO ID) COMO T2 DONDE t1.id >= t2.id ORDEN POR t1.id LIMITA el número de datos que quieres obtener;
El tiempo de consulta de 1>> el tiempo de consulta de 2>> el tiempo de consulta de 5> el tiempo de consulta de 6> el tiempo de consulta de 4> el tiempo de consulta de 3, es decir,3 es el más eficiente.




Anterior:Compartición de recursos: Desarrollo del proyecto STM32 integrado Diseño e implementación de monitor de frecuencia cardíaca
Próximo:[Actualizado] Todas las publicaciones en la web serán traducidas al inglés
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com