J'ai 4000 enregistrements, et je dois choisir 500 enregistrements aléatoires.Aide avec random - serveur sql 2008 requête
i besoin que 500 dossiers insérera à GoodTable
et le reste de 3500 dossiers insérera à BadTable
comment le faire en utilisant sql-server 2008 requête?
remercient à l'avance
Etes-vous sûr que ce sera aléatoire? Cela dépend de la façon dont le moteur de recherche récupère les lignes TOP? Par exemple. pourrait-il aller chercher les mêmes 500 lignes à chaque fois, et les ré-ordonner juste à cause de l'ordre de tri aléatoire? Pour être totalement sûr que la sélection est aléatoire, ne serait-il pas plus sage d'utiliser une sous-requête pour assigner un newid à toutes les lignes de la table de base, et ensuite sélectionner le top 500 à partir de cela? – mdma
C'est ce que 'order by newid()' fait déjà - il sélectionne le top 500 * après * la commande, ce qui est fait par un 'newid 'généré aléatoirement pour chaque ligne. Je l'ai utilisé moi-même sur SQL Server 2008, fonctionne très bien. Un moyen facile de vérifier: 'select top 1 * ... order by newid()' devrait vous obtenir une ligne différente à chaque fois. – tzaman