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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Faire une somme d'un count ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire une somme d'un count ?

n°1542914
nycius
Ich liebe dich !
Posté le 14-04-2007 à 18:39:03  profilanswer
 

Hello,
 
Bon c'est con mais j'ai un soucis avec une requete relou.
J'aimerai faire une somme d'un count avec un group by :
 

Code :
  1. SELECT COUNT(DISTINCT ip) as total_ip FROM table WHERE id='54545' GROUP BY critere


 
Avec ca j'ai un listing groupé par "critere", mais j'aimerai retourner le total de ce "total_ip"
 
 :heink:

mood
Publicité
Posté le 14-04-2007 à 18:39:03  profilanswer
 

n°1542938
casimimir
Posté le 14-04-2007 à 21:37:53  profilanswer
 

si tu es en oracle tu peux faire un rollup, ca doit etre dispo aussi en ms sql, pour les autres sgbd je ne sais pas, mais c'est pas dans le sql standard je sais plus combien

n°1542975
nycius
Ich liebe dich !
Posté le 15-04-2007 à 03:22:41  profilanswer
 

je suis en mysql

n°1543070
naeh
Posté le 15-04-2007 à 19:17:24  profilanswer
 

t'as essayé avec une requete imbriquée ?
 
(je ne sais pas si ce code est bon mais ça peut t'aider)
 

Code :
  1. SELECT SUM(total_ip) AS somme FROM (SELECT COUNT(DISTINCT ip) as total_ip FROM table WHERE id='54545' GROUP BY critere)


 
par contre les requetes imbriquées, ce n'est possible qu'a partir d'une certaine version de mysql je ne sais plus laquelle :)

n°1543170
pot2yaourt
Posté le 16-04-2007 à 08:20:41  profilanswer
 

nycius a écrit :

je suis en mysql


 
La remarque de casimimir était bonne, jette un oeil sur la commande ROLLUP, ça marche aussi pour MySQL :  
http://dev.mysql.com/doc/refman/5. [...] fiers.html

n°1543200
nycius
Ich liebe dich !
Posté le 16-04-2007 à 09:57:10  profilanswer
 

pot2yaourt a écrit :

La remarque de casimimir était bonne, jette un oeil sur la commande ROLLUP, ça marche aussi pour MySQL :  
http://dev.mysql.com/doc/refman/5. [...] fiers.html


 
Je suis en mysql 4.1

n°1543219
souk
Tourist
Posté le 16-04-2007 à 10:37:51  profilanswer
 

attention, je vais poser une question extremement conne, peut etre que je suis pas super bien reveille et que c'est une connerie plus grosse que moi, mais:
 

Code :
  1. SELECT COUNT(DISTINCT ip) AS total_ip FROM TABLE WHERE id='54545'


 
ca fait pas ce que tu veux ? [:pingouino] (ie, sans le group by)

n°1543223
rufo
Pas me confondre avec Lycos!
Posté le 16-04-2007 à 10:44:15  profilanswer
 

Pas mal cette commande rollup : je ne connaissais pas :)

n°1543304
pot2yaourt
Posté le 16-04-2007 à 13:06:59  profilanswer
 

nycius a écrit :

Je suis en mysql 4.1


 
C'est con, la commande ROLLUP fonctionne à partir de MySQL 4.1.1.  :p  
 
Ca serait le moment de migrer vers MySQL 5.x.

Message cité 1 fois
Message édité par pot2yaourt le 16-04-2007 à 13:08:15
n°1543372
nycius
Ich liebe dich !
Posté le 16-04-2007 à 15:45:19  profilanswer
 

pot2yaourt a écrit :

C'est con, la commande ROLLUP fonctionne à partir de MySQL 4.1.1.  :p  
 
Ca serait le moment de migrer vers MySQL 5.x.


 
Je suis en 4.1.20 ;)

mood
Publicité
Posté le 16-04-2007 à 15:45:19  profilanswer
 

n°1543375
MagicBuzz
Posté le 16-04-2007 à 15:48:24  profilanswer
 

souk a écrit :

attention, je vais poser une question extremement conne, peut etre que je suis pas super bien reveille et que c'est une connerie plus grosse que moi, mais:
 

Code :
  1. SELECT COUNT(DISTINCT ip) AS total_ip FROM TABLE WHERE id='54545'


 
ca fait pas ce que tu veux ? [:pingouino] (ie, sans le group by)


vu la question, moi je vote et je dis +1000000000000000000000
 
d'autant que le rollup ne sert à rien, franchement c'est deux lignes en PHP lors de l'affichage du détail, ça ne représente donc aucun intérêt.

Message cité 1 fois
Message édité par MagicBuzz le 16-04-2007 à 15:48:40
n°1543376
nycius
Ich liebe dich !
Posté le 16-04-2007 à 15:49:41  profilanswer
 

MagicBuzz a écrit :

vu la question, moi je vote et je dis +1000000000000000000000
 
d'autant que le rollup ne sert à rien, franchement c'est deux lignes en PHP lors de l'affichage du détail, ça ne représente donc aucun intérêt.


 
Je dois grouper le nombre de resultat, cette requete sort une boucle donc ca doit grouper par quelque chose mais faire le total
 
J'ai deja essayé ce que vous me dites de faire

n°1543385
MagicBuzz
Posté le 16-04-2007 à 15:57:36  profilanswer
 

En pseudo code, je sais pas écrire du PHP c'est d'la merde :
 

Code :
  1. $rows = mysqlmachintrucquiexecutelarequete("SELECT COUNT(DISTINCT ip) as total_ip, critere FROM table WHERE id='54545' GROUP BY critere" );
  2. $total = 0;
  3. while(fetch($rows))
  4. {
  5.   print("critere : ".$rows["critere"]." = ".$rows["total_ip"]."<br/>" );
  6.   $total += $rows["total_ip"];
  7. }
  8. print("<hr/>total : ".$total);


 
spourtantpascompliqué :spamafote:

n°1543429
nycius
Ich liebe dich !
Posté le 16-04-2007 à 17:25:44  profilanswer
 

En faisant un ROLLUP ou autre jobtient ca :
 

Code :
  1. totip
  2. --
  3. 5
  4. 61
  5. 59
  6. 54
  7. 49
  8. 38
  9. 43
  10. 26
  11. 20
  12. 20
  13. ROLLUP = 367


 
Ya pas comme un soucis ?  :heink:

n°1543435
MagicBuzz
Posté le 16-04-2007 à 17:50:24  profilanswer
 

à première vue le total est bon :??: qu'est-ce qui ne te va pas ?

n°1543439
nycius
Ich liebe dich !
Posté le 16-04-2007 à 17:56:51  profilanswer
 

fais le total de tout et compare au ROLLUP

n°1543472
MagicBuzz
Posté le 16-04-2007 à 19:07:30  profilanswer
 

bah y'en a 8 qui steak haché :spamafote:
 
c'est ça de travailler avec des fonctions pas standard d'un outil de merde, gnou en plus :o

n°1543475
nycius
Ich liebe dich !
Posté le 16-04-2007 à 19:09:21  profilanswer
 

MagicBuzz a écrit :

bah y'en a 8 qui steak haché :spamafote:
 
c'est ça de travailler avec des fonctions pas standard d'un outil de merde, gnou en plus :o


 
Méga constructif , merci beaucoup de cette intervention

n°1543486
MagicBuzz
Posté le 16-04-2007 à 19:27:13  profilanswer
 

t'as qu'à faire comme tout le monde, utiliser des fonctions standard.
je t'ai collé un exemple complet, t'as qu'à modifier deux noms de fonctions pour que ça marche. alors arrête de tourner autour du pot et dire que je suis pas constructif. c'est toi à vouloir t'entêter à utiliser un truc qui n'est pas au point sur ta version, et de toute façon pas standard du tout.

n°1543489
nycius
Ich liebe dich !
Posté le 16-04-2007 à 19:36:10  profilanswer
 

MagicBuzz a écrit :

t'as qu'à faire comme tout le monde, utiliser des fonctions standard.
je t'ai collé un exemple complet, t'as qu'à modifier deux noms de fonctions pour que ça marche. alors arrête de tourner autour du pot et dire que je suis pas constructif. c'est toi à vouloir t'entêter à utiliser un truc qui n'est pas au point sur ta version, et de toute façon pas standard du tout.


 
Quest ce que tu me racontes avec ton code tout degeu ? jutilise pas ton code pour une raison simple et précise c'est quil sera pas adapté sur de grosses charges, sinon je laurai fait depuis perpette
 
Alors tes gentil mais tu peux passer ton chemin avec tes "non standard" and co


Message édité par nycius le 16-04-2007 à 19:40:16
n°1543492
MagicBuzz
Posté le 16-04-2007 à 19:55:50  profilanswer
 

lol, il monte pas la charge... on aura tout vu...
 
ben reste avec ta fonction rollup buggée qu'est-ce que tu veux.

n°1545439
naeh
Posté le 19-04-2007 à 21:56:06  profilanswer
 

et avec la requete imbriquée que te donne plus haut, ça marche pas ?

mood
Publicité
Posté le   profilanswer
 


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

  Faire une somme d'un count ?

 

Sujets relatifs
Count et jointure[VB]comment entre 3 valeurs faire apparaitre la plus basse?
[resolu]calcul d'une somme avec plusieurs INPUT[DB2-IBM] COUNT(DISTINCT) consommateur en ressource ?
[MSSQL Server] Somme date + time : 2 jours de décalage ?Probleme d'association de requete Count et Select
ORDER BY count(*) pour deux bases de données ensembleORDER BY avec count
Requete avec une clause count et somme[SQL - ORACLE] Faire un somme de count sur plusieurs tables
Plus de sujets relatifs à : Faire une somme d'un count ?


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