|
database
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
requete sqlBonjour,
Je voudrais savoir s'il existe une fonction sql permettant d'obtenir le pourcentage que représente une valeur(numérique) d'un champ par rapport par rapport au total des valeurs d'une colonne. Je m'explique: j'ai une colonne 'nbville' qui contient le nombre d'habitant par ville.Je cherche une fonction sql qui me permette d'avoir le pourcentage que représente le nombre d'habitant d'une ville par rapport au total. Merci d'avance Raben wrote:
> Bonjour, SELECT nbville, nbville/> Je voudrais savoir s'il existe une fonction sql permettant d'obtenir le > pourcentage que représente une valeur(numérique) d'un champ par > rapport par rapport au total des valeurs d'une colonne. > Je m'explique: j'ai une colonne 'nbville' qui contient le nombre > d'habitant par ville.Je cherche une fonction sql qui me permette > d'avoir le pourcentage que représente le nombre d'habitant d'une ville > par rapport au total. > Merci d'avance (SELECT CAST(SUM(nbville) AS FLOAT) FROM ville) AS pct FROM ville ; -- David Portas, SQL Server MVP Whenever possible please post enough code to reproduce your problem. Including CREATE TABLE and INSERT statements usually helps. State what version of SQL Server you are using and specify the content of any error messages. SQL Server Books Online: http://msdn2.microsoft.com/library/ms130214(en-US,SQL.90).aspx -- David Portas (REMOVE_BEFORE_REPLYING_dpor***@acm.org) writes:
Show quote > Raben wrote: Une petite correction:>> Je voudrais savoir s'il existe une fonction sql permettant d'obtenir le >> pourcentage que représente une valeur(numérique) d'un champ par >> rapport par rapport au total des valeurs d'une colonne. >> Je m'explique: j'ai une colonne 'nbville' qui contient le nombre >> d'habitant par ville.Je cherche une fonction sql qui me permette >> d'avoir le pourcentage que représente le nombre d'habitant d'une ville >> par rapport au total. >> Merci d'avance > > SELECT nbville, nbville/ > (SELECT CAST(SUM(nbville) AS FLOAT) > FROM ville) AS pct > FROM ville ; SELECT nbville, 100 * nbville/ (SELECT CAST(SUM(nbville) AS FLOAT) FROM ville) AS pct FROM ville ; En SQL 2005 est possible d'écrire: SELECT nbville, 100.0 * nbville / SUM(nbville) OVER () AS pct FROM ville -- Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se Books Online for SQL Server 2005 at http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx |
|||||||||||||||||||||||