Bonsoir à tous ! ^^
Je me casse la tête sur un script et je n'arrive pas à trouver une solution... Peut-être pourriez-vous m'aider ?
J'ai une table qui se présente sous cette forme :
id (unique),
titre (varchar);
Mon script fait un simple SELECT sur cette table. Jusque là, pas de soucis !
J'aimerais y ajouter un champ "famille" : certaines lignes auraient une famille, d'autres pas.
Mon objectif : sélectionner toutes les lignes de cette table, mais sélectionner également de manière aléatoire une seule ligne par famille (une famille ne peut faire ressortir qu'une seule ligne, au hasard).
Exemple, j'ai la table suivante :
1, 'FamilleA', 'Titre 1' ;
2, 'FamilleA', 'Titre 2' ;
3, 'FamilleB', 'Titre 3' ;
4, 'FamilleB', 'Titre 4' ;
5, '', 'Titre 5' ;
6, '', 'Titre 6';
Comment faire pour que ma requête me renvoie (aléatoirement) : 1-3-5-6
Ou : 2-3-5-6
Ou 2-4-5-6, etc.
En clair, que toutes les lignes sans famille soient retournées, mais que pour les lignes qui ont une famille, une seule ligne soit retournée (aléatoirement).
Je me suis penché vers la fonction SQL Disctinct, mais j'ai l'impression que ce n'est pas par là que je dois aller...
HELP !! Merci par avance !! ^^
Je me casse la tête sur un script et je n'arrive pas à trouver une solution... Peut-être pourriez-vous m'aider ?
J'ai une table qui se présente sous cette forme :
id (unique),
titre (varchar);
Mon script fait un simple SELECT sur cette table. Jusque là, pas de soucis !
J'aimerais y ajouter un champ "famille" : certaines lignes auraient une famille, d'autres pas.
Mon objectif : sélectionner toutes les lignes de cette table, mais sélectionner également de manière aléatoire une seule ligne par famille (une famille ne peut faire ressortir qu'une seule ligne, au hasard).
Exemple, j'ai la table suivante :
1, 'FamilleA', 'Titre 1' ;
2, 'FamilleA', 'Titre 2' ;
3, 'FamilleB', 'Titre 3' ;
4, 'FamilleB', 'Titre 4' ;
5, '', 'Titre 5' ;
6, '', 'Titre 6';
Comment faire pour que ma requête me renvoie (aléatoirement) : 1-3-5-6
Ou : 2-3-5-6
Ou 2-4-5-6, etc.
En clair, que toutes les lignes sans famille soient retournées, mais que pour les lignes qui ont une famille, une seule ligne soit retournée (aléatoirement).
Je me suis penché vers la fonction SQL Disctinct, mais j'ai l'impression que ce n'est pas par là que je dois aller...
HELP !! Merci par avance !! ^^