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 :

COUNT avec HAVING et ORDER BY


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut COUNT avec HAVING et ORDER BY
    Bonjour,

    Alors que les requête MySql ne me posent pas trop de problème, je suis un peu dérouté par les requêtes SQL !!!

    Voici mon problème !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    SELECT 
    			COUNT(*), 
    			Ville.Nom_Ville, 
    			Salle.Nom_Salle 
    			FROM Ville
    	       		 JOIN Salle 
                 		ON Ville.Id_Ville = Salle.Id_Ville 
    	       		 JOIN Conference 
                 		ON Salle.Id_Salle = Conference.Id_Salle 
    	       		 JOIN Seance 
                 		ON Seance.Id_Conference = Conference.Id_Conference 
    			WHERE Conference.Id_Conferencier = '24' 
    			AND Conference.Id_Saison = '7' 
    			AND convert(varchar(10), Seance.Date_Seance, 20) >= convert(varchar(10), CURRENT_TIMESTAMP, 20) 
    			GROUP BY Ville.Nom_Ville, Salle.Nom_Salle 
    			HAVING COUNT(*) > 1
    Cette requête fonctionne parfaitement mais je souhaiterais y ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ORDER BY Seance.Date_Seance ASC
    Mais j'ai l'erreur suivante :
    Column name 'Seance.Date_Seance' is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause
    En fait, je souhaite pouvoir extraire les noms des villes et des salles (sans les doublons) mais avec un classement par date de séance croissant.

    Note : pour une même ville/salle, il peut y avoir plusieurs séances (donc plusieurs dates)

    Si quelqu'un à une solution...

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Note : pour une même ville/salle, il peut y avoir plusieurs séances (donc plusieurs dates)
    C'est précisément ce qui pose problème pour trier sur ces dates.

    Imaginons un bout de résultat:
    Ville1, salle1, count(*)=3 [dates=(1/10, 3/10, 5/11)]
    Ville2, salle2, count(*)=2 [dates=(30/9, 4/10)]

    Certaines dates de (ville1,salle1) sont supérieures à certaines dates de (ville2,salle2) mais sont inférieures à d'autres. Comment ordonner les 2 lignes dans ces conditions?
    Il est possible en revanche de trier par la plus grande date par ville et salle (max), par exemple, ou la plus petite, ou la médiane, ou la moyenne, le point clef étant qu'il y ait une date par ligne de résultat et non plusieurs.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut COUNT avec HAVING et ORDER BY
    Merci estofilo... je vais essayer de construire la requête sur MAX des 'date_seance'

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

Discussions similaires

  1. Requête SQL avec Having Count
    Par illight dans le forum Langage SQL
    Réponses: 9
    Dernier message: 22/10/2013, 14h00
  2. Requete select count(*) avec having max()
    Par Goupo dans le forum Langage SQL
    Réponses: 10
    Dernier message: 09/03/2009, 12h50
  3. Requete "Count" avec un having.
    Par BrYs dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/06/2006, 12h02
  4. problème count avec la valeur 0
    Par cristolb dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/07/2005, 09h39
  5. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02

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