Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2005, 18h33   #1
Invité de passage
 
Inscription : janvier 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2
Points : 1
Points : 1
Par défaut Sélection aléatoire d'une seule ligne.

Bonjour,

J'ai une table avec
Code :
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 :
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)
Pat bol 002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 20h27   #2
Membre éclairé
 
Avatar de piff62
 
Inscription : décembre 2003
Messages : 431
Détails du profil
Informations personnelles :
Âge : 26

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

Code :
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
piff62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 20h30   #3
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
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 :
SELECT id,image,actif FROM t_affi WHERE actif='O'
Triez cette liste aléatoirement
Code :
SELECT id,image,actif FROM t_affi WHERE actif='O' ORDER BY RAND()
Sélectionnez un élément de cette liste
Code :
SELECT id,image,actif FROM t_affi WHERE actif='O' LIMIT 1
Sélectionnez un élément actif au hasard
Code :
SELECT id,image,actif FROM t_affi WHERE actif='O'ORDER BY RAND() LIMIT 1
Encore bienvenue et meilleurs voeux pour 2005
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2005, 09h52   #4
Invité de passage
 
Inscription : janvier 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2
Points : 1
Points : 1
Un grand merci pour vos réponses
Et toutes mes excuses pour les règles du forum.
Pat bol 002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2005, 19h30   #5
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
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 T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h45.


 
 
 
 
Partenaires

Hébergement Web