Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 04/01/2011, 15h09   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 51
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 51
Points : 13
Points : 13
Par défaut Group + Having sur une string

Bonjour à tous,

petite question dans une requête je fais un Group by + Having.
J'arrive parfaitement à faire

Having min(_champ_) ou Having sum(_champ_) > 10 avec des chiffres

Par contre comment dois-je faire si le champ ne représente pas un nombre mais une chaine de caractère ? Je souhaite récupèrer la plus petite chaine au sens alphabétique.

nom code AutresColonnes .....
---------------------------------------
arbre Z
arbre A
feuille b
feuille a

"Group by nom Having min(code) > Je souhaiterai que cela me retourne

arbre A
feuille a


Merci !
Mattgic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h47   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 980
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 980
Points : 18 224
Points : 18 224
Envoyer un message via MSN à CinePhil
En informatique, 'a' < 'b'; C'est comme ça que le SGBD opère des ORDER BY.
Donc il est tout à fait capable de trouver le MIN(une_colonne) si c'est colonne est alphanumérique.
Par contre attention, 'B' > 'a' en ASCII. Peut-être est-ce différent selon le charset mais pas sûr.
Fais des tests.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 22h00   #3
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Si tes tests confirment le comportement décrit par Cinephil, ce que je pense, tu peux utiliser LOWER (recherche LOWER dans cette page) ou UPPER comme tu veux.

Profites en pour regarder quelques autres fonctions très utiles, en gros toutes celles mentionnées sur cette page (avec un petit plus pour substr instr length trim...)

[EDIT] en fait j'ai des doutes en tout cas sur oracle (ce qui t'intéresse peu certes) 'A' < 'b', ça dépend peut être de la colation, donc effectivement fait des tests
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 09h48   #4
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 51
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 51
Points : 13
Points : 13
Ok merci de vos réponses
Mattgic 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 13h50.


 
 
 
 
Partenaires

Hébergement Web