IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[SQL Server] Sélection de lignes aléatoire dans un résultat


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 34
    Points : 32
    Points
    32
    Par défaut [SQL Server] Sélection de lignes aléatoire dans un résultat
    Tout d'abord, bonjour à tous !

    Je me pose une question SQL et j'espère que vous saurez me répondre. Je vous en remercie également d'avance.

    Est-il possible de sélectionner aléatoirement les lignes d'un résultat d'une requête SQL ?




    Un simple exemple de ce que je recherche avec une seule table :

    » Une table toute simple concernant des "personnes"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM personnes
    Je vais évidemment me retrouver avec tous les enregistrements de la table personnes dans mon résultat. Ce qu'il me faudrait, c'est pouvoir n'en garder que N au hasard.

    Est-il possible de faire celà Directement dans la requête elle même ? Car évidemment si je devais récupérer toutes les lignes de la table pour ensuite faire une sélection aléatoire dans la partie logicielle appellante, il y aurait de gros problèmes de performances :'( .

    Merci à vous !

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Ce code te retournera N éléments sélectionnés au hazard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP N *
    FROM personnes
    ORDER BY newid()

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    Merci pour cette réponse très rapide ! Résolu !

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par efficks
    Ce code te retournera N éléments sélectionnés au hazard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP N *
    FROM personnes
    ORDER BY newid()
    Quand vous utilisez des fonctions, l'idéal serait de nous préciser par quels SGBD elles sont supportées

    En l'occurence, NewId, c'est du SQL Server.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2014, 13h19
  2. Réponses: 1
    Dernier message: 15/05/2008, 11h48
  3. Réponses: 3
    Dernier message: 03/05/2007, 11h06
  4. Réponses: 2
    Dernier message: 09/04/2007, 10h21
  5. Réponses: 3
    Dernier message: 17/10/2006, 09h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo