Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2431 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORDER BY avec count

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ORDER BY avec count

n°1499874
stagiaire1​3
Posté le 07-01-2007 à 01:54:00  profilanswer
 

Bonsoir,
 
Je voudrais que cette requête me donne l'expert ayant réalisé le plus d'expertises depuis le début de 2006, j'ai donc fait la requête suivante, mais ça ne classe pas les NombreExpertises, ça classe les experts par ordre alphabétique :
 
SELECT TOP 1 NomExpert, count(*) AS NombreExpertises
FROM Experts, Villes, Sinistres
WHERE Experts.SiteWebExpert=Villes.SiteWebExpert AND Sinistres.CodePostal=Villes.CodePostal AND Sinistres.Date>#01/01/2006#
GROUP BY Experts.NomExpert;
 
et quand je rajoute un ORDER BY, la requête devient :
 
SELECT TOP 1 NomExpert, count(*) AS NombreExpertises
FROM Experts, Villes, Sinistres
WHERE Experts.SiteWebExpert=Villes.SiteWebExpert AND Sinistres.CodePostal=Villes.CodePostal AND Sinistres.Date>#01/01/2006#
GROUP BY Experts.NomExpert
ORDER BY count DESC;
 
Mais comme tout à l'heure, ça ouvre une fenêtre avec "Entrez la valeur du paramètre
                                                                          Compte
                                                                          'Case à remplir' "
 
Comment faire ?

mood
Publicité
Posté le 07-01-2007 à 01:54:00  profilanswer
 

n°1499876
mrbebert
Posté le 07-01-2007 à 02:30:38  profilanswer
 

ORDER BY NombreExpertises :??:  
Si tu as renommé la colonne, autant utiliser ce nom [:proy]

n°1499877
stagiaire1​3
Posté le 07-01-2007 à 02:43:38  profilanswer
 

J'avais aussi essayé avec NombreExpertises ; ça ouvre la même fenêtre avec NombreExpertises à la place de Compte.
 
Tu aurais une idée pour résoudre mon problème ?

n°1499885
olivthill
Posté le 07-01-2007 à 08:34:10  profilanswer
 

Bonjour,
 
Access ouvre une fenêtre quand il voit une variable qu'il ne connait pas. Il demande alors quelle est sa valeur.
Quand tu écris "ORDER BY count DESC", Access, ne connait pas count.
count n'est pas un nom de colonne.
count(*) pourrait être compris comme étant un nom de colonne par certains SGBD, mais je ne suis pas certain qu'Access accepte cela. Il faudrait essayer "ORDER BY count(*) DESC".
 
Mais le plus simpe, comme l'a dit mrbebert, serait d'écrire "ORDER BY NombreExpertises"
Tu dis avoir essayé ça. Mais si Access a ouvert une fenêtre, c'était très probablement parce qu'il devait y avoir une petite erreur d'orthographe, par exemple NombreExpertise sans "s", ou autre chose du même genre. Il faut que le nom soit exactement le même que celui est indiqué au début du Select.

n°1499887
Beegee
Posté le 07-01-2007 à 08:53:21  profilanswer
 

Dans pas mal de SGBD, les alias (NombreExpertises ici par exemple) ne peuvent pas être utilisés au même niveau de requête ... seuls les alias dans les sous-requêtes sont bien compris en général.
 
Donc ici, ORDER BY count(*) devrait marcher ...

n°1499920
stagiaire1​3
Posté le 07-01-2007 à 12:37:49  profilanswer
 

Oui, effectivement ça marche, merci à tous.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORDER BY avec count

 

Sujets relatifs
Multi countsql: ORDER BY alphabetique pour des données du genre 12CAY
[Résolu] Problème avec count et distinctRequete avec une clause count et somme
petit soucis requete sql sur deux table ( order spécial :) )[Resolu] entre count(1) et count(*) lequel ?
Requete Count() et affichage ASPcount() d'une colonne entière d'une table de données
conditions sur 2 count ?Problème de condition sur un COUNT
Plus de sujets relatifs à : ORDER BY avec count


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR