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

Langage SQL Discussion :

Problème avec Max.


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 119
    Points
    119
    Par défaut Problème avec Max.
    Bonjour,

    Voici mon problème : 1 table VEHICULE(nroVehicule) dans laquelle j'ai un champs nroAgence. (un véhicule appartient à une agence).

    Il faut que je ressorte de cette table, l'agence qui possède le plus de véhicule.

    Je n'arrive pas à ressortir ce chiffre, même en faisant une sous-requête ...

    Qqun a une idée ? ...

    Merci d'avance

    Archange

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Pour compter le nombre d'éléments, tu peux utiliser la fonction count(*).
    Pour obtenir le nombre de véhicules par agence, tu peux regrouper les résultats par nroAgence.
    Comme tu veux l'agence qui a le plus de véhicules, tu peux classer les résultats par ordre décroissants.
    Tu peux limiter les résultats à 1, puisque tu ne veux que l'agence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT nroAgence, count(*) as nb
    FROM VEHICULE
    GROUP BY nroAgence
    ORDER BY nb DESC
    LIMIT 1
    Pour pouvoir ordonner les résultats suivant count(*), il faut lui donner un nom.
    J'ai donné le nom 'nb', mais tu peux bien sûr choisir un autre nom.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    Pour information, si tu n'utilise pas MySQL, il existe des équivalent de LIMIT pour les autres langages.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 119
    Points
    119
    Par défaut
    ok c'est bon ça marche avec LIMIT 1, c'est un peu barbare c'est vrai, je n'y avais pas pensé mais ça marche très bien ! Merci pour vos réponses !

    Archange

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

Discussions similaires

  1. problème avec Max date
    Par berti dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/07/2011, 15h15
  2. Problème avec "MAX"
    Par guivrator dans le forum Requêtes
    Réponses: 5
    Dernier message: 16/04/2009, 14h25
  3. Problème avec "MAX" et/ou "TOP"
    Par funkyjul dans le forum Développement
    Réponses: 6
    Dernier message: 18/03/2009, 07h54
  4. problème avec MAX(Date)
    Par ouchemhou dans le forum Langage SQL
    Réponses: 12
    Dernier message: 23/08/2008, 17h13
  5. Problème avec MAX()
    Par Arkay dans le forum Requêtes
    Réponses: 5
    Dernier message: 10/10/2007, 20h01

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