J'ai une base de données d'accès MS. En cela, une table est constituée de questions et de réponses avec des principaux questionnaires. J'ai besoin de récupérer une question aléatoire de cette table en utilisant des questionnaires. Quels mots clés ou requêtes dois-je utiliser pour ce scénario?.
Ce qui suit obtiendra un questionnaire aléatoire de votre table
Mysql
SELECT questionID FROM questions ORDER BY Rand() LIMIT 1
Accès MS
SELECT top 1 questionID from questions ORDER BY rnd(questionID)
Pour obtenir différents enregistrements aléatoires, vous pouvez utiliser, ce qui nécessiterait un champ d'identification dans votre table.
SELECT TOP 1 questionID FROM questions ORDER BY Rnd(-(100000*questionID)*Time())
Une valeur négative passée sous forme de paramètre sur la fonction RND fournira la première valeur aléatoire du générateur à l'aide de ce paramètre comme valeur de démarrage. (Une sorte de randomisation définie). Spécial grâce à l'indice de @kobik des commentaires.
SELECT TOP 5 questionID FROM [tableName] ORDER BY rnd(INT(NOW*questionID)-NOW*questionID)
Cela vous donnera un nouvel ensemble de réponses à chaque fois, vous n'avez même pas besoin de créer un temps lorsque vous utilisez "maintenant" (qui sera à chaque fois une nouvelle fois que vous cliquez sur ceci, quelle que soit la vitesse de votre vitesse), dans Mon opinion la solution la plus simple et nette de résoudre cela dans l'accès.