![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисление процента [D6, MSSQL]
wild_arg © (2004-10-12 09:36:00)Вывожу след. набор данных:
select
Name,
SUM(Quantity) [Quantity]
from
Table1
group by
Name
Name | Quantity
===============
.... ......
.... ......
Попросили добавить еще колонку, показывающую процент каждой записи по отношению к общей сумме, т.е. долю каждого количества
Ну я вычислил сначала общую сумму:
declare @itog money
select
@itog = SUM(Quantity)
from
Table1
затем вывел прежний набор данных, но уже с долей
select
Name,
SUM(Quantity) [Quantity],
convert(decimal(18,2),(Sum(Quantity)*100)/@itog)[Percent]
from
Table1
group by
Name
ну типа все хорошо выводит - только, когда я вывожу отчет в Excel - если просуммировать по колонке процентов, то в сумме не всегда получается 100 процентов. Иногда 99.99, иногда 100,01. Если конвертить в decimal(18,3), то количество случаев с неточной суммой увеличивается...
Есть у кого-нить какие идеи?
sniknik (2004-10-12 11:26:00) [1]не округляй вообще, в сумме тогда получиш более точное приближение (100.0000896 или 99,99995454).
либо округляй уже сумму до целого, все одно это приблизительные данные.
поищи статью на королевстве дельфи посвященную числам с плавающей запятой. почитай для общего развития.