{MySQL} une requete MAX sur les champs ?
volumeni
-
volumeni -
volumeni -
Bonjour,
voila j'ai une table 'users' qui ressemble à ça :
NOM | Compétence1 |Compétence2 |Compétence3 |Compétence4 |Compétence5 |
Alfred | 0 | 15 |42 |81 |74 |
Gertrude| 90 | 55 |50 |19 |35 |
J'aimerais connaitre quelle requete écrire pour connaitre, pour chaque ligne, les 2 compétences les plus élevées, mais pas les valeurs, je m'en fiche...
Alfred => Compétence4 & Compétence5
Gertrude => Compétence1 & Compétence2
merci !
voila j'ai une table 'users' qui ressemble à ça :
NOM | Compétence1 |Compétence2 |Compétence3 |Compétence4 |Compétence5 |
Alfred | 0 | 15 |42 |81 |74 |
Gertrude| 90 | 55 |50 |19 |35 |
J'aimerais connaitre quelle requete écrire pour connaitre, pour chaque ligne, les 2 compétences les plus élevées, mais pas les valeurs, je m'en fiche...
Alfred => Compétence4 & Compétence5
Gertrude => Compétence1 & Compétence2
merci !
A voir également:
- {MySQL} une requete MAX sur les champs ?
- Driver max - Télécharger - Pilotes & Matériel
- I14 pro max - Accueil - Guide téléphones
- Max maillot avis - Forum Consommation & Internet
- Dans le monde de max ✓ - Forum Loisirs / Divertissements
- Mysql community server - Télécharger - Bases de données
2 réponses
Salut,
alors je pense que le plus gros problème vient de ta table...avis perso...si tu veux rajouter une compétence ou faire des requêtes comme celles-ci, faudrait peut-être revoir la conception de la table..
Sinon, une solution Oracle:
COMPETENCE étant ta table et j'ai du mettre un nom bidon pour identifier la compétence....
Pour MySql, je pense que tu devrais t'en sortir avec des LIMIT....
Y'a peut-etre plus simple..si d'autre ont des idées!! Peut-être une procédure pourrait le faire aussi!!
@+
alors je pense que le plus gros problème vient de ta table...avis perso...si tu veux rajouter une compétence ou faire des requêtes comme celles-ci, faudrait peut-être revoir la conception de la table..
Sinon, une solution Oracle:
SELECT nom,comp FROM ( SELECT nom, comp,cmp,ROW_NUMBER() OVER (PARTITION BY nom ORDER BY comp DESC) AS t FROM ( SELECT nom,competence1 AS comp,'ma competence1' AS cmp FROM COMPETENCE UNION ALL SELECT nom,competence2,'ma competence2' FROM COMPETENCE UNION ALL SELECT nom,competence3,'ma competence3' FROM COMPETENCE UNION ALL SELECT nom,competence4,'ma competence4' FROM COMPETENCE UNION ALL SELECT nom,competence5,'ma competence5' FROM COMPETENCE ) ) WHERE t<3
COMPETENCE étant ta table et j'ai du mettre un nom bidon pour identifier la compétence....
Pour MySql, je pense que tu devrais t'en sortir avec des LIMIT....
Y'a peut-etre plus simple..si d'autre ont des idées!! Peut-être une procédure pourrait le faire aussi!!
@+