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 :

limitation a un resultat par valeur d un champ


Sujet :

Requêtes MySQL

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut limitation a un resultat par valeur d un champ
    Salut,

    je dois afficher des offres de location de sport d hiver, afin de ne pas avoir des centaines de pages , je souhaite limiter mes resultats a une offre par station

    la requete suivante me donne bcp trop de resultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM data WHERE nom LIKE 'France%' ORDER BY nom,prix ASC
    il y a parfois des centaines d offres pour une seule station et j aimerais afficher seulement la moins chère des offres de la station

    j ai essayé de rajouter un DISTINCT nom mais il appecie pas trop...

    est ce possible de faire ca directement en MySQL ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !!

    essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT D.* FROM data AS D WHERE D.nom LIKE 'France%' AND D.prix = (SELECT MIN(D2.prix) FROM data AS D2 GROUP BY D2.nom WHERE D2.nom = D.nom) ORDER BY nom,prix ASC
    Bien entendu, ce n'est valable que pour MySQL > 4.1 je crois puisqu'il y a une sous-requête...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Hello !

    merci pour la reponse mais je crois que je dois pas avoir la bonne version alors (je suis sur un xxlplan chez ovh) car il me sort une erreur de syntaxe au niveau de la sous requete ;(

    il me semble que les mutu d ovh sont en 4.0

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    ARF dans ce cas, il te faut faire deux requêtes séparées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MIN(prix), nom FROM data GROUP BY nom
    puis pour chaque station (je suppose que $station contient le nom de la station et $prix le prix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM data WHERE nom = '$nom' AND prix = $prix ORDER BY nom,prix ASC
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    yes j avais pensé a cette solution, mais ca me pose des problemes car je dois affichier plusieurs pages avec des resultats LIMIT %d,%d , du coup le fait d utliser deux requetes pose un probleme

    je vais neanmoins essayer de me debrouiller comme ca

    merci en tous cas

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

Discussions similaires

  1. [débutant]Rowsource par valeur d'un champ
    Par Pitou5464 dans le forum Access
    Réponses: 5
    Dernier message: 10/08/2006, 19h10
  2. [CR] valeurs par défaut d'un champ parametre auto
    Par FUNZIE dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/03/2005, 14h41
  3. [SQL - Access] Valeur par défaut d'un champs
    Par Demiurge dans le forum Access
    Réponses: 2
    Dernier message: 11/02/2005, 17h16
  4. Valeur par défaut d'un champ date
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2004, 12h48
  5. limiter le résultat retourné par le count
    Par SuperFoustan dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/08/2003, 12h10

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