Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Вычисление процента   Найти похожие ветки 

 
wild_arg ©   (2004-10-12 09:36) [0]

Вывожу след. набор данных:
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) [1]

не округляй вообще, в сумме тогда получиш более точное приближение (100.0000896 или 99,99995454).
либо округляй уже сумму до целого, все одно это приблизительные данные.

поищи статью на королевстве дельфи посвященную числам с плавающей запятой. почитай для общего развития.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.046 c
1-1099311691
edge
2004-11-01 15:21
2004.11.14
Создание формы.


14-1098547072
ДоздраПерМа
2004-10-23 19:57
2004.11.14
Сколько лет надо учиться программировать?


3-1097573006
Aser
2004-10-12 13:23
2004.11.14
Помогите пожалуйста с SQL-запросом


6-1094132569
sniknik
2004-09-02 17:42
2004.11.14
UDP протокол на базе Мелкософтского клиента


1-1098904664
mishapost
2004-10-27 23:17
2004.11.14
Вывод длинной строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский