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 :

Select avec tri et ordre aléatoire


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 5
    Par défaut Select avec tri et ordre aléatoire
    Bonjour,

    Je dispose de 2 tables :
    questions (num_question, question, num_domaine)
    domaines(num_domaine,nom_domaine)
    Je dispose également d'une liste de numéro de questions sélectionnées $liste_questions

    Je souhaiterais pouvoir sélectionner la liste des questions dont le numéro est présent dans $liste_questions :
    Triées par num_domaine et telle que l'ensemble des questions d'un domaine soit dans un ordre aléatoire
    ordre qui ne doit pas être le même dans chaque domaine si on execute la requete plusieurs fois.
    Je pense qu'il faut que j'utilise ORDER et RAND mais je ne vois pas trop comment.
    Merci d'avance pour vos réponses éclairées

    Exemple

    select n°1

    Domaine 1
    =======
    Question 21
    Question 7
    Question 3
    Domaine 2
    =======
    Question 25
    Question 4
    Question 6

    select n°2

    Domaine 1
    =======
    Question 7
    Question 3
    Question 2
    Domaine 21
    =======
    Question 4
    Question 25
    Question 6

    D'avance merci

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 637
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    La réponse dépend du SGBD, mais quelque chose comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select DO.num_domaine
         , DO.nom_domaine
         , QU.num_question
         , QU.question
    from domaine        as DO
    inner join question as QU
       on QU.num_domaine=DO.num_domaine
    order by DO.num_domaine, rand(QU.num_question)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 5
    Par défaut
    Merci beaucoup pour cette réponse rapide.
    Je teste cela tout de suite

Discussions similaires

  1. SELECT Distinct avec tri par ordre d'apparition
    Par Nono23 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/07/2012, 15h16
  2. Réponses: 5
    Dernier message: 10/12/2007, 15h24
  3. SELECT DISTINCT avec tri sur un autre champ que celui du distinct
    Par Stephane_br dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/11/2006, 11h37
  4. [SQL] SELECT avec tri et limite
    Par Resyek dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/04/2006, 15h00
  5. requette de selection avec tries
    Par Thierry8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 16h48

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