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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [sql] requete count distinct

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[sql] requete count distinct

n°1109914
coolben
http://www.starbusiness.fr
Posté le 06-06-2005 à 16:10:32  profilanswer
 

Bonjour  
 
j'ai une question qui me parait con mais je n'arrive pas a trouver la solution
 
comment compter le nombre distinct d'un couple ?
 
J'aimerai faire queqlques chose comme cela :
 

select count(distinct id_per,id_conf) from matable


 
---------
|matable|
---------
|id_per |
|id_conf|
---------
 
voici les données inclues dedans :
 
id_per| id_conf
1 | 1
1 | 1
1 | 2
 
 
j'aimerai compter le nombre de couple different
ici avoir 2 et non 3
 
 


---------------
http://www.starbusiness.fr : jeux en ligne bientôt Massivement Multi Joueur. Gestion et Wargame dans un univers à la conquête de l'espace ...
mood
Publicité
Posté le 06-06-2005 à 16:10:32  profilanswer
 

n°1109951
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:24:14  profilanswer
 

solution dégueux :
 

Code :
  1. select count(distinct cast(id_per as charvhar) + '_' + cast(id_conf as varchar)) from matable


 
Là comme ça, à froid (enfin... à chaud parceque je crève là)j'ai pas d'autre idée :)


Message édité par Arjuna le 06-06-2005 à 16:24:43
n°1109956
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:26:00  profilanswer
 

Sinon, j'y pense... Un simple :
 

Code :
  1. select count(id_per)
  2. from matable
  3. group by id_conf


 
Ca devrait faire l'affaire non ?

n°1109961
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:27:13  profilanswer
 

:heink:
 
ouais nan, fait vraiment trop chaud, j'ai mes neurrones qui cuisent là...
 
y'a que la première requête qui marche :)
 
à moins que...
 

Code :
  1. select count(distinct id_per)
  2. from matable
  3. group by id_conf


 
 
:sweat:
 
nan, fait vraiment trop chaud, faut que je dorme :D
 
y'a que la première qui marche :D


Message édité par Arjuna le 06-06-2005 à 16:28:06
n°1109968
skeye
Posté le 06-06-2005 à 16:31:16  profilanswer
 

Je confirme, bois un truc frais!:o


---------------
Can't buy what I want because it's free -
n°1109981
skeye
Posté le 06-06-2005 à 16:34:05  profilanswer
 

...et un bête
select count(*) from (select distinct id_per, id_conf from matable) ??


---------------
Can't buy what I want because it's free -
n°1109991
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:36:06  profilanswer
 

ha ouais, ça à l'air pas mal aussi :D

n°1109992
coolben
http://www.starbusiness.fr
Posté le 06-06-2005 à 16:36:12  profilanswer
 

oui il me semble bien qu'il n'y a que la premiere qui marche
j'ai aussi pensé a faire une vue :

CREATE VIEW mavue AS SELECT DISYINCT id_per,id_conf FROM matable
 
SELECT COUNT(*) FROM mavue


mais je pense que ce n'est pas l'idéal
 
j'ai aussi testé une version similaire a ce que tu ma montré :
 

SELECT COUNT(DISTINCT id_per+id_conf*1000000) FROM matable


 
merci pour ton aide et je te souhaite une bonne nuité de repos
 :sleep:


---------------
http://www.starbusiness.fr : jeux en ligne bientôt Massivement Multi Joueur. Gestion et Wargame dans un univers à la conquête de l'espace ...
n°1109994
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:36:34  profilanswer
 

mais si c'est sous MySQL < 4.1, bah ma première solution marche et pas la tienne, nananèreuh :D
 
-- edit : ce message était destiné à skeye qui a donné une solution meilleure que ma première ;)


Message édité par Arjuna le 06-06-2005 à 16:37:30
n°1109998
skeye
Posté le 06-06-2005 à 16:38:01  profilanswer
 

Arjuna a écrit :

mais si c'est sous MySQL < 4.1, bah ma première solution marche et pas la tienne, nananèreuh :D


C'était pas dans la question de départ.:o
Et si on veut la planter ta solution on doit pouvoir, en collant des underscores dans les 2 champs...[:joce]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 06-06-2005 à 16:38:01  profilanswer
 

n°1110006
coolben
http://www.starbusiness.fr
Posté le 06-06-2005 à 16:42:44  profilanswer
 

Citation :

...et un bête  
select count(*) from (select distinct id_per, id_conf from matable) ??


 
cette solution ne marche pas chez moi
 
je suis sous SQL server 2000


---------------
http://www.starbusiness.fr : jeux en ligne bientôt Massivement Multi Joueur. Gestion et Wargame dans un univers à la conquête de l'espace ...
n°1110014
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-06-2005 à 16:50:21  profilanswer
 

Ouais :
 
select count(*) from (select distinct id, val from tsttbl) as prout
 
Faut toujours aliaser les sous-requêtes avec SQL Server ;)

n°1110032
coolben
http://www.starbusiness.fr
Posté le 06-06-2005 à 17:04:43  profilanswer
 

merci


---------------
http://www.starbusiness.fr : jeux en ligne bientôt Massivement Multi Joueur. Gestion et Wargame dans un univers à la conquête de l'espace ...
n°1110138
skeye
Posté le 06-06-2005 à 18:34:22  profilanswer
 

Arjuna a écrit :

Ouais :
 
select count(*) from (select distinct id, val from tsttbl) as prout
 
Faut toujours aliaser les sous-requêtes avec SQL Server ;)


c'est bon à savoir...je bosse que sous oracle! [:joce]


---------------
Can't buy what I want because it's free -

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

  [sql] requete count distinct

 

Sujets relatifs
RecordCount ou Fields.Count ???? quel choix faire??[resolu] requete avec date
Requête avec soustraction ou addition avec des valeurs max en MySQL[SQL] transformé une sous requete en requete avec LEFT join
[RESOLU] Requete SQL particulièreRequete de MAJ
aide pour une requete SQL[resolu] pb de requête avec clause 'distinct'
[SQL] Distinct 
Plus de sujets relatifs à : [sql] requete count distinct


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