FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Select aleatorio
Hola foro:
Mi consulta es la siguiente: Como puedo hacer con sql para obtener una cantidad x de registros de una tabla en forma aleatoria? Utilizo Firebird 2.0, delphi 6. Saludos |
#2
|
|||
|
|||
Hola JBalda, no te limites en cuanto a espacio, ya has hecho algo, tienes algún error, en fin, entre mas información nos des seguro se te va a poder ayudar de una manera mejor.
Por otro lado te doy la bienvenida y te recomiendo que leas la guía de estilo para que conozcas las reglas de nuestro foro. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#3
|
|||
|
|||
Select aleatorio
Bueno Egostar, tratare de ser mas especifico. Dentro de una base de datos firebird tengo una tabla de stock de articulos. Mi aplicacion entre otras cosas permite efectuar inventarios sobre el 100% de la tabla de articulos o sobre una cantidad parcial. La pregunta concreta es si conocen alguna forma de tirar una select sobre dicha tabla que me retorne una cantidad de registros previamente ingresada, de manera aleatoria.
Lei algo en este foro sobre la funcion RAND() , pero no se como utilizarla. Saludos |
#4
|
||||
|
||||
Estuve pensando...
No se si se permitirá pasar parámetros en la sentencia first. Mi idea es generar un SQL algo similar a esto:
Y hacer que el parámetro cantidad recibe un número aletorio:
El +1 se debe a que random puede devolver 0 y provocar un error. No he probado esto... En este momento no tengo Delphi. |
#5
|
||||
|
||||
Yo te iba a proponer algo parecido utilizando:
Pero al decir aleatorio no veo bien que es lo que quieres, porque seleccionar las 100 filas primeras yo no lo veo como aleatorio, a no ser que lo que quieras sea seleccionar un número aleatorio de filas y entonces la respuesta dada por Delphius es la correcta? Con este método lo que es aleatorio es el número de filas, pero no las filas en sí. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
|||
|
|||
Ante todo muchas gracias por sus prontas respuestas. Efectivamente lo que necesito son filas aleatorias y no una determinada cantidad. Por ejemplo, si mi tabla tiene 100 registros, genero 3 nros aleatorios (15,78,91), como resultado deberia obtene el registro nro 15,78 y 91.
saludos. |
#7
|
||||
|
||||
De no tener un campo autoincremento y seleccionarlos por ahí, creo que no quedará más remedio que crear una tabla auxilar.
Hacer avanzar el puntero hasta el registro 15, insertarlo en la tabla auxiliar y así hasta el final.(78....): Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#8
|
|||
|
|||
Utilizando select First y Skip y luego grabando una tabla temporal logro lo que estaba buscando. No se si sera la forma mas optima pero funciona.
Gracias marcoszorrilla y foro. Saludos |
#10
|
||||
|
||||
Como lo expone TJose anda...
Lo acabo de probar con IBExpert y funciona. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
generar numero de 9 cifras aleatorio que nunca se repita | coletaun | Varios | 9 | 19-02-2007 10:34:29 |
como burlar codigo de seguridad aleatorio? | lookmydoom | PHP | 6 | 06-07-2006 19:01:48 |
Orden aleatorio al 7o digito!!! | jdattoli | Tablas planas | 1 | 20-10-2005 18:15:09 |
Presentar ordern aleatorio en un Select | aerosB4 | Firebird e Interbase | 4 | 16-08-2004 12:53:21 |
Error aleatorio, verdadera locura | buitrago | Varios | 0 | 14-03-2004 07:29:50 |
|