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

SQL Procédural MySQL Discussion :

Sélection aléatoire d'une seule ligne.


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Sélection aléatoire d'une seule ligne.
    Bonjour,

    J'ai une table avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     t_affi (
       id int(20) NOT NULL auto_increment,
       image char(20) NOT NULL,
       actif char(1) DEFAULT 'N' NOT NULL,
       PRIMARY KEY (id)
    );
    contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    1 image1.gif N
    2 image2.gif O
    3 image3.gif N
    4 image4.gif O
    5 image5.gif N
    6 image6.gif O
    7 image4.gif O
    Je voudrais sélectionner les enregistrements avec Actif='O'
    puis prendre aléatoirement l'enregistrement 2, 4, 6 ou 7

    Merci de votre aide, je sèche

    Bonne année

    Balises "code" rajoutés et Titre remplacé par Alexandre T (ancien titre : sélection)

  2. #2
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut
    Pour avoir le nombre d'enregistrement avec l'actif 'o'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(*) AS nbActif FROM t_affi where actif='0';
    Apres tu genere un nombre aleatoire compris entre 0 et ce nombre.
    Enfin tu reparcours la table, en decrementant ce nombre aleatoire et des que tu es a 0 par exemple tu fais ce que tu veux faire !
    Voila .. Si c'est pas tres comprehensible
    re post
    Bonne annee

  3. #3
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Bonjour et bienvenue sur le forum.

    Je vais répondre à vos question, mais avant je tiens à vous faire part de quelques remarques concernant ce forum. Ce forum est privé et des règles sont de mises afin de permettre un enreichissement de la base de connaissance et de faciliter le travail des contributeurs qui te répondront ainsi plus vite.

    Je vous invite donc à lire les règles du forum et notamment les points suivants :
    choisir un titre explicite
    Utiliser les balises code
    Lire la FAQ
    Utiliser la fonction rechercher car on a déjà répondu à cette queestion.

    Voilà, voilà. Je vous remercie de votre attention et voici les réponses :
    Sélectionnez les éléments actifs à 'O'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id,image,actif from t_affi where actif='O'
    Triez cette liste aléatoirement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id,image,actif from t_affi where actif='O' ORDER BY RAND()
    Sélectionnez un élément de cette liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id,image,actif from t_affi where actif='O' LIMIT 1
    Sélectionnez un élément actif au hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id,image,actif from t_affi where actif='O'ORDER BY RAND() LIMIT 1
    Encore bienvenue et meilleurs voeux pour 2005
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Un grand merci pour vos réponses
    Et toutes mes excuses pour les règles du forum.

  5. #5
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Citation Envoyé par Pat bol 002
    Un grand merci pour vos réponses
    Et toutes mes excuses pour les règles du forum.
    De rien et aucun problème pour les règles A bientôt
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

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

Discussions similaires

  1. [JTable] autoriser la sélection d'une seule ligne
    Par simla dans le forum Composants
    Réponses: 4
    Dernier message: 06/03/2008, 13h06
  2. ne sélectionner qu'une seule ligne d'un SELECT
    Par le-stagiaire dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/04/2005, 11h52
  3. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 15h55
  4. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24
  5. [JTable]Selectionner une seule ligne d'une jTable ?
    Par Maximus32 dans le forum Composants
    Réponses: 2
    Dernier message: 22/10/2004, 02h06

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