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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  utilisation de COUNT()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utilisation de COUNT()

n°1388672
Giz
Posté le 16-06-2006 à 09:57:24  profilanswer
 

J'ai un code SQL qui marche (testé sous mySQLCC)
 

SELECT DISTINCT t_ebiz_customer.*
FROM `t_ebiz_customer`, t_ebiz_customer_address
WHERE  
t_ebiz_customer_address.country LIKE 'Allemagne%' AND t_ebiz_customer.id_bill_address = t_ebiz_customer_address.id_customer_address
OR
t_ebiz_customer.id_ship_address = t_ebiz_customer_address.id_customer_address


 
En rajoutant le count, ca marche plus
 

SELECT COUNT(DISTINCT t_ebiz_customer.*)
FROM `t_ebiz_customer`, t_ebiz_customer_address
WHERE  
t_ebiz_customer_address.country LIKE 'Allemagne%' AND t_ebiz_customer.id_bill_address = t_ebiz_customer_address.id_customer_address
OR
t_ebiz_customer.id_ship_address = t_ebiz_customer_address.id_customer_address


 
Comment faire pour compter le nombre de résultats retournés alors ? (2 dans cette requête)  :??:

mood
Publicité
Posté le 16-06-2006 à 09:57:24  profilanswer
 

n°1388690
Sebou77
French Tech powaa :-)
Posté le 16-06-2006 à 10:17:35  profilanswer
 

un distinct dans un count c'est possible ça ? :??: :heink:

n°1388716
poypoy7
Posté le 16-06-2006 à 10:33:25  profilanswer
 

sebou77 a raison je pense que si tu mettais distinct count(*)
 
ca serait mieux

n°1388740
alien_nan
Posté le 16-06-2006 à 10:44:44  profilanswer
 

c'est à cause de l'étoile
tu peux faire un count(distinct chp) avec 1 seul champ.  
 
si tu veux en avoir plusieurs tu l'ecris comme suit :
 
select count(patro) from (select distinct patro,marital,pren1,pren2,datnaiss from individu)
 
sinon count(*) au niveau perf c'est mal, mieux vaut mettre count(nom_champ)
 
 

n°1388741
Elmoricq
Modérateur
Posté le 16-06-2006 à 10:45:55  profilanswer
 

voire count(1) si la flemme de chercher un nom de champ :o

n°1388744
alien_nan
Posté le 16-06-2006 à 10:47:19  profilanswer
 

Elmoricq a écrit :

voire count(1) si la flemme de chercher un nom de champ  :o


Merci pour l'astuce, connaissais pas  :jap:

n°1388904
Giz
Posté le 16-06-2006 à 12:23:21  profilanswer
 

Oui tout à fait, vous avez raison, il faut mettre un nom de champ. Mais c'est bizarre à comprendre quand même car pour moi COUNT() compte le nombre de résultats renvoyés. Quand on met COUNT(*) on lui demande le nombre de lignes renvoyées, chose qui ne sait pas faire dans ma requête et qui pourtant n'a rien d'illogique. COUNT ne sait donc pas compter le nombre de ligne renvoyé dans certain cas :??:

n°1388996
alien_nan
Posté le 16-06-2006 à 14:08:01  profilanswer
 

Giz a écrit :

Oui tout à fait, vous avez raison, il faut mettre un nom de champ. Mais c'est bizarre à comprendre quand même car pour moi COUNT() compte le nombre de résultats renvoyés. Quand on met COUNT(*) on lui demande le nombre de lignes renvoyées, chose qui ne sait pas faire dans ma requête et qui pourtant n'a rien d'illogique. COUNT ne sait donc pas compter le nombre de ligne renvoyé dans certain cas  :??:

 

qd tu fais count(*), de memoire, il remonte la ligne entierement pour la compter, donc si tu as 50 champs, il prend plus de place en memoire....ca doit etre un truc du style


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

  utilisation de COUNT()

 

Sujets relatifs
Utilisation Div et CSSRéplication de base pour utilisation offline
[SQL] select count(*)select count(*) + group by : les sortir en php
MySql et count()Utilisation de Code::Blocks
THREADS - utilisation de pthread.hUtilisation particulière de VB2005 Express
Utilisation des classes pour créer des boules de billard[.net c++] utilisation de ReadFile et WriteFile
Plus de sujets relatifs à : utilisation de COUNT()


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