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

PHP & Base de données Discussion :

requète avec min() [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    fey
    fey est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Par défaut requète avec min()
    bonjour,

    j'ai deux tables, donc je fais une jointure, jusque la pas de soucis.
    et je cherche à récupérer la quantité la plus petite pour une machine et un type d'élément.

    le soucis est que je récupère bien la quantité la plus petite pour la machine en question, mais il y a un caffouillage pour l'année et le mois qui eux ne correspondent pas la quantité qui est sélectionnée.

    pour avoir la quantité la plus petite, j'essaye d'utiliser min() mais j'ai peux être pas la bonne approche.


    quelqu'un peut m'aider ?

    voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT min(quantite) as quant, cp1.moisnum, cp1.annees
    FROM cop_releves_p1 as cp1 inner join cop_releves_p2 as cp2 
    on cp1.id_element = cp2.id_element 
    WHERE cp1.id_machine = "2090repro" 
    and cp2.id_nom_element = 99

    merci beaucoup
    fey

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    Si vous utilisez les fonctions de groupement avec une requête ne contenant pas de clause GROUP BY, cela revient à grouper toutes les lignes.
    tu dois effectuer un GROUP BY sur les machines

  3. #3
    fey
    fey est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Par défaut
    certes mais quand je fais cela il me trouve une tonne de résultat alors que je veux seulement le résultat le plus bas, c'est pourquoi je pensais utilisé min()

    sauf quand je met pour l'id_machine mais dans ce cas, il me met la même chose que lorsque je le met pas ^^

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    je voulais dire qu'il fallait que tu utilise min() conjointement avec GROUP BY

  5. #5
    fey
    fey est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 231
    Par défaut
    oui bien sur lorsque je le rajoute sur id_machine il me donne le même résultat donc quantité bonne, mais mauvaise années et mois.

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    il faut probablement faire une requête de ce type :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT min(quantite) as quant, cp1.moisnum, cp1.annees
    FROM cop_releves_p1 as cp1 inner join cop_releves_p2 as cp2 
    on cp1.id_element = cp2.id_element 
    GROUP BY id_machine
    WHERE cp1.id_machine = "2090repro" 
    and cp2.id_nom_element = 99

    Que te donne cette requête ?

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

Discussions similaires

  1. Problème requête avec un MIN
    Par Guildem dans le forum Langage SQL
    Réponses: 9
    Dernier message: 29/01/2009, 12h20
  2. problème de requête avec utilisation de min/group by
    Par htristra dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 02/10/2007, 13h16
  3. Requête avec l'expression Like
    Par Mvu dans le forum ASP
    Réponses: 3
    Dernier message: 02/09/2003, 09h39
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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