Tengo una base de datos de acceso MS. En eso, una tabla consta de preguntas y respuestas con la clave primaria questionID. Necesito recuperar una pregunta aleatoria de esa tabla usando questionID. Qué palabras clave o consulta debería usar para este escenario.Cómo obtener un registro aleatorio de la base de datos MS Access
Respuesta
El siguiente obtendrá un IdPregunta azar de su mesa
MySQL
SELECT questionID FROM questions ORDER BY RAND() LIMIT 1
MS Access
SELECT top 1 questionID from questions ORDER BY rnd(questionID)
Para obtener el registro aleatorio diferente que puede utilizar, lo que requeriría un campo ID en su tabla
SELECT TOP 1 questionID FROM questions ORDER BY Rnd(-(100000*questionID)*Time())
Un valor negativo pasado como parámetro a la función Rnd entregará el primer valor aleatorio del generador utilizando este parámetro como valor de inicio. (Una especie de aleatorización definida). Gracias especiales a la sugerencia de @kobik de los comentarios.
Cosa divertida. He probado todas las respuestas sugeridas, incluido esto obtengo registros diferentes/aleatorios. pero tan pronto como ejecuto nuevamente mi programa de prueba, los resultados están en la misma secuencia que antes. como si el generador de semillas al azar se reiniciara cada vez en ms-access. Más tarde encontré esto: [La consulta aleatoria del generador de números no es tan aleatoria] (http://database.ittoolbox.com/groups/technical-functional/access-l/random-number-generator-query-not-so-random- 3887838) – kobik
hace lo mismo bummi, cada vez que lo ejecuto obtengo los mismos 4 resultados –
así que cómo sugieres arreglar @Kobik –
SELECT TOP 5 questionID FROM [tableName] ORDER BY rnd(INT(NOW*questionID)-NOW*questionID)
Esto le dará un nuevo conjunto de respuestas cada vez, ni siquiera es necesario para compensar un momento en que se utiliza "AHORA" (que va a ser cada vez que un nuevo tiempo hace clic en este no importa qué tan rápido haces clic), en mi opinión la forma más simple y ordenada de resolver esto en Access.
Este funciona perfectamente bien para mí. Todos los demás métodos proporcionan el mismo conjunto de registros. Buen trabajo. – MatVAD
- 1. ¿Cómo usar la base de datos SQLite desde MS Access?
- 2. ms-access: hacer algo en la base de datos open
- 3. registro aleatorio de la base de datos MySQL con CodeIgniter
- 4. Cómo comprimir una base de datos MS Access
- 5. ¿Cómo puedo obtener nombres de tablas de una base de datos MS Access?
- 6. Completar una base de datos de MS Access en Linux
- 7. Creando una base de datos MS Access usando python
- 8. Cómo convertir la codificación de la base de datos de MS Access a UTF-8?
- 9. insertar datos en la base de datos de MS Access con ADO a través de Python
- 10. ¿Por qué "Sí" es un valor de -1 en la base de datos de MS Access?
- 11. ¿Cómo usar sftp desde dentro de un módulo de base de datos MS Access?
- 12. Cómo usar SubSonic con la base de datos de MS Access
- 13. Cómo utilizar Entity Framework para la base de datos de MS Access
- 14. MS Access trigger?
- 15. Sincronizar datos de MS Access a MS SQL
- 16. MS Access: cómo compactar la base de datos actual en VBA
- 17. Recuperar datos URL JSON en MS Access
- 18. ¿Es posible modificar un esquema de base de datos de MS Access usando ADO.NET?
- 19. Incrustar base de datos de MS Access en la aplicación C# WinForm
- 20. ¿Cómo accedo a una base de datos de MS Access desde Oracle?
- 21. MS Access SQL, cambio de tipo de datos
- 22. cómo usar un archivo MS-Access de Linux?
- 23. Desconectar todas las conexiones abiertas a la base de datos de MS Access
- 24. Consultar tabla de base de datos de MS Access si no existe crearlo
- 25. Conexión a la base de datos MS Access 2007 (.accdb) usando pyodbc
- 26. Objeto aleatorio de la base de datos con GORM
- 27. Conexión de Excel oledb al acceso de bloqueo de base de datos Ms-Access db
- 28. Biblioteca de MS Access para python
- 29. Importación de MS ACCESS DB a mySql?
- 30. ¿Cómo obtener la lista de tablas en la base de datos, usando MS SQL 2008?
la versión para MS Access, parece generar registros aleatorios, pero los mismos cada vez. – kneidels
DE ACUERDO .. mismos registros aleatorios –