Donc, si tu fais le test, tu te rendra compte que :
count(E1.homepages) est égale = count (E.compagnie)
et que donc
count(E1.homepages) / count (E.compagnie) vaut 1.
Mara's dad
Rob Roy : Dans une requête comme çà, tu as une explosion combinatoire. Le nombre d'enregistrement compté correspond à Nb d'enreg de E * Nb d'enreg de E1.
Donc ce n'est pas la solution !
Sans parler du fait que tu ne calcule pas un poucentage !
Rob Roy
Select count(E1.homepages) / count (E.compagnie)
from tatable as E, tatable as E1
where E1.homepages IS NOT NULL
un truc comme ca
[jfdsdjhfuetppo]--Message édité par Rob Roy--[/jfdsdjhfuetppo]
Mara's dad
select ( sum( case homepage when NULL then 0 else 1 end )*100 / ( count( compagnie ) ) ) as x from table
J'ai testé, et çà marche avec MySql !
[jfdsdjhfuetppo]--Message édité par Mara's dad--[/jfdsdjhfuetppo]
fabd
vous voyez ke c t pas si simple ;)
Cherrytree
Arrgh, en plus d'être lent, je fais la même erreur que gfive.
gfive
ah, okaye, je vois, effectivement, j'avais pas pensé à ça! :D
fabd
gfive a écrit a écrit :
:o Comment ça, ca compte pas le nombre total de compagnies?? C zarb, pasque je viens de fair eun test sur deux valeurs dans une table à moi, et ça fonctionne?? :??:
BAH no, tu met une clause where sur TOUTE la requete
gfive
fabd a écrit a écrit :
Nan, ca va pâs votre truc, paske, ca ne compte pas le nb total de company
:o Comment ça, ca compte pas le nombre total de compagnies?? C zarb, pasque je viens de fair eun test sur deux valeurs dans une table à moi, et ça fonctionne?? :??:
fabd
select (cast(count(supplierid)as numeric(5,3))/(select cast(count(supplierid)as numeric(5,3)) from suppliers))*100 from suppliers where homepage is not null
fabd
exactement ;)
c ce ke je fais
thegti
utilise des sous-requêtes
fabd
Nan, ca va pâs votre truc, paske, ca ne compte pas le nb total de company
Cherrytree
Ben ouais.
fabd
si simple :heink:
j'essaie :bounce:
Cherrytree
Arrgh, gfive m'a grillé.
Cherrytree
SELECT COUNT(homepages) * 100 / COUNT(companies) FROM TaTable WHERE homepages <> "";
AMHA c'est un truc comme ça.
gfive
Facile (mais pour MySQL)
select (count(homepage) * 100 / count(compagnie)) from Table as value where [conditions..]
et ouala!
Cherrytree
Ah ouais, j'avais pas vu le SQL dans la question, sorry.
C'est clair que maintenant que tu le dis, je me pose moi aussi le problème de la syntaxe. Je cherche.
fabd
Cherrytree a écrit a écrit :
En quoi c'est ? SQL ? C, Java ?
Sinon c'est tout con : tu comptes les compagnies, tu comptes les homepages et ensuite, homepages * 100 / compagnies
Où est la difficulté ?
C en SQL
Oui, je c ce ki fo fer, mais c le fait de l'imbriquer ds une seul requete ke j'arrive po :(
Cherrytree
En quoi c'est ? SQL ? C, Java ?
Sinon c'est tout con : tu comptes les compagnies, tu comptes les homepages et ensuite, homepages * 100 / compagnies
Où est la difficulté ?
fabd
Y a 2 champs : compagnie et homepage
Chaque compagnie peut avoir une homepage. mais peut ne pas en avoir aussi (champs vide dans ce cas)
calculer le pourcentage des compagnies qui on une homepage