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

Requêtes MySQL Discussion :

Select truc, min(bidule), chouette, from table


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Points : 98
    Points
    98
    Par défaut Select truc, min(bidule), chouette, from table
    Bonjour,

    je souhaiterais exploité la fonction MIN de sql mais j'ai un petit soucis de syntaxe sans doute

    ma requette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT qte, min(prix), txt, idm, nom, image  FROM pack, marchands where labo= idm and format = '9x13' and qte = '75'  limit 0, 1
    j'ai ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
    Une idée ?

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    Bonjour,

    Le SQL permet d'effectuer des traitements ensemblistes uniquement, les fonction d'agregation (min, max, avg, etc ...) s'effectuent sur des ensembles : c'est a dire un groupe de tuple.
    Si le critère de groupage est explicitement défini grâce a la clause GROUP BY, alors ces fonctions seront appliquées à chaque groupes.
    En revanche si aucun groupe n'est explicité, le SGBD considérera tous les tuples retourné comme un groupe et appliquera ces fonctions sur la totalité des tuples.
    La valeur calculé est alors unique et correspond a un ensemble de tuples.

    En revanche lors de la projection d'un champ, une valeur est retourné pour chaque enregistrement.

    Le SGBD ne veux pas exécuter cette requête car il y a un confit a ce niveau là.
    Il ne peut renvoyer a la fois une valeur sur un groupe (fonction d'agrégation), et une valeur du tuple.

    En précisant un peu plus ce que tu recherche et la structure de tes données, nous pourrons t'aider a construire la requête qui résolvera ton problème.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Points : 98
    Points
    98
    Par défaut
    ha ok ! je comprends mieux, par contre j'ai un peu regarder cette fonction et tous les exemples ne sont pas construit autour d'un groupe !

    pour etre plus clair avec ma requette j'ai plusieurs enregistrement qui correspondent a ma requette et je voudrais extraire uniquement les premier prix.

    est ce plus clair ou non ?

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    Rien ne t'empêche sur grouper par identifiant tout en utilisant une jointure vers une autre table.

    Peut-tu nous monter la structure de ta base de données, ca aiderais a trouver une solution

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Points : 98
    Points
    98
    Par défaut
    bon en fait eje pense que ce n'est pas trop cato mais j'ai fait nu trie sur le prix avec limit 0, 1 en ayant un seul enregistrement j'ai le premier prix .... merci tout de même pour toutes ces explications !

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

Discussions similaires

  1. Problème lors d'un select * from table
    Par smaildba dans le forum SQL
    Réponses: 1
    Dernier message: 12/11/2008, 12h36
  2. Select from table where
    Par kabalonda dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 25/07/2007, 17h43
  3. Problème avec : a,b,c IN (select a,b,c from table)
    Par Ludo49 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/03/2006, 02h32
  4. select 'detail.php?id='||ID from table;
    Par XtofRoland dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2006, 10h35
  5. a,b,c NOT IN (select a,b,c from table)
    Par szdavid dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/05/2005, 09h19

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