|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Bonjour,
Lors de l'exécution d'une requête, il est possible de récupérer le nombre d'enregistrements retournés en faisant par exemple : Dans un cas, je ne souhaite pas récupérer le nombre d'enregistrements, mais le nombre de dossier différents. J'ai alors fait en PHP une boucle qui lit le résultat de ma requête et en rupture sur le n° de dossier, je fait + 1 dans un compteur. Existe-t-il une fonction sql qui permette de faire cela directement dans une requête ? exemple de requete : Code :
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : décembre 2003 Messages : 431 ![]() |
Donne nous la structure de ta table ca nous eclairera
Mais il existe ca : Code :
SELECT count(nomdetacolonne) AS nomquetuveux FROM tatable; |
|
|
00
|
|
|
#3 |
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Je veux compter le nombre de dossiers, sachant que pour 1 dossier, j'ai "n" utilisateurs.
Or si je récupère "$nbLignes = count($requete);", je vais avoir le nombre d'ulisateurs et non le nombre de dossiers. Bien sûr je veux l'affichage de tous les utilisateurs. J'avais déjà testé le COUNT (*) FROM nnnn, mais il veut un group by ce qui fait que j'ai un regroupement par dossier. Si j'ai 13 utilisateurs pour 6 dossiers, je veux avoir 13 enregistrements et un compteur qui me dise que j'ai 6 dossiers. J'espère avoir été plus clair.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Code :
SELECT DISTINCT(numero_dossier) FROM table
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#5 | |
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Citation:
Je vais prendre un exemple simple : J'ai un fichier "personnel" avec des hommes et des femmes, le champ les différenciant est "sexe"; sexe peut prendre les valeurs "M" ou "F". Je veux afficher l'ensemble des membres du personnel et récupérer 2 compteurs. Un compteur du nombre de "H" et un compteur du nombre de "F".
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Bah il faudrait faire un COUNT avec un GROUP BY sexe mais ça correspond pas à ce qut demandes avec tes dossiers...
Avec le DISTINCT que j'ai mis tu récupères la liste des numéros de dossiers distincts, donc la liste de tes dossiers différentes, avec un count là-dessus tu as le nombre de dossiers différents en base, c'est bien ce que tu veux nan ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#7 |
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Oui c'est ce que je veux, mais est-ce que je garde la totalité de mes enregistrements ?
Est-ce que je peux faire quelque chose du genre Code :
SELECT toto, titi, tata, COUNT(if (distinct(numero_dossier),1,0)) as compteur FROM nnnn
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Euh nan je pense pas...
Mais tu sais tu peux faire deux requêtes (c'est même nécessaire je pense) ça va pas tout faire exploser hein Une requête pour connaître le nombre de dossiers puis une seconde pour connaître les enregistrements. Ou alors tu gères le nombre de dossiers côté PHP mais c'est s'embêter pour rien vu qu'une requête le ferait très bien
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#9 | |
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Citation:
Le plus rapide ou le moins gourmand c'est la requête sql ou la boucle php ?
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
|
|
#11 | |
|
Membre extrêmement actif
![]() Inscription : juin 2006 Messages : 1 804 ![]() |
Citation:
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com