|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : mars 2006 Messages : 172 ![]() |
Salut !!
J'ai une table avec beaucoup de ligne. Je veux recuperer ces lignes et les mettre dans un combobox. Pour cela j'ai besoin de connaitre le nombre de ligne et les informations de ces lignes. Si je fais Code :
Code :
SELECT nom_champ FROM ma_table WHERE id IS NOT NULL Code :
SELECT count(*),nom_champ FROM ma_table WHERE id IS NOT NULL Merci de me dire ce qui ne va pas dans ma requête. |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
Ainsi, au lieu de ramener - 1 ligne avec le count ou - les seules occurrences de nom_champ c'est un tableau de 2 colonnes x nb d'occurrences de nom_champ qui doit être élaboré par le moteur relationnel, puis ramené vers le client. Bref, tu doubles le travail grâce à cette optimisation
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 172 ![]() |
Je suis d'accord avec toi je vais revenir à l'ancienne manière. Mais tu ne me dis pas pourquoi la requête ne marche pas? maintenant c'est ça qui m'interesse.
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
Et ca?
SELECT count(*), nom_champ FROM ma_table WHERE id IS NOT NULL GROUP BY nom_champ |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 172 ![]() |
ça marche mais ça compte le nombre d'occurrence de chaque élément pas le nombre d'enregistrement. Je voudrais recuperer tous les enregistrements et le nombre total d'enregistrement en utilisant une seule requête. Avec deux requêtes j'arrive à le faire facilement. Je voudrais fusionner ces deux requêtes. Si quelqu'un peut m'aider.
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Les fonctions Count, sum, max, etc réclament un group by pour qu'il sache quel ensemble compter ou sommer (le groupe).
Sans le group by ces fonctions considèrent que l'ensemble c'est tout le select (donc un seul ensemble). C'est comme si on faisait un group by suivit de la liste complete des colonnes (ou de la clé primaire). Faire un count retourne une seule ligne par ensemble. On voit bien là qu'il y a un probleme, le count veut retourner une ligne et le nom_champ voudrait ramener X lignes... |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 172 ![]() |
Super Barbibulle. C'est l'explication que je voulais. Je crois que tu viens de me la
donner. Merci mille fois man. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com