Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

Как получить сумму значений по диапазонам   Найти похожие ветки 

 
sh   (2004-10-05 20:38) [0]

День добрый!
Подскажите плз как получить
Признак|сумма диапазон1|сумма диапазон2|...
если есть
признак|значение
и диапазоны, например <0 и >0
и надо найти суммы значений соответстующие признакам, попадающих в эти диапазоны.


 
ЮЮ ©   (2004-10-06 03:02) [1]

вариант 1:

SELECT
 Codes.*, Gr1.Sum1, Gr2.Sum2
FROM
(SELECT DISTINCT признак as Code FROM Table) Codes
 LEFT JOIN (
   SELECT признак as Code, SUM(значение) Sum1, 0 Sum2
   FROM Table
   GROUP BY признак
   WHERE значение < 0
 ) Gr1 ON Codes.Code = Gr1.Code
 LEFT JOIN (
   SELECT признак as Code, SUM(значение) Sum2, 0 Sum2
   FROM Table
   GROUP BY признак
   WHERE значение > 0
 ) Gr2 ON Codes.Code = Gr2.Code

Вариант

SELECT
 Code, SUM(f1) Sum1, SUM(f2) Sum2
FROM (
 SELECT
   признак as Code,
   CASE WHEN значение < 0 THEN значение ELSE 0 END f1,
   CASE WHEN значение > 0 THEN значение ELSE 0 END f2
 FROM
   Table
 ) Table


 
Johnmen ©   (2004-10-06 09:15) [2]

>и надо найти суммы значений соответстующие признакам,
>попадающих в эти диапазоны.

Всё зависит от того, правильно ли склонение выделенного слова.



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

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1096854563
Думкин
2004-10-04 05:49
2004.10.31
С днем рождения! 4 октября


6-1093206138
pavia
2004-08-23 00:22
2004.10.31
Теряються данные, как исправить?


8-1091696002
Nolf
2004-08-05 12:53
2004.10.31
Старая добрая Winamp а..


14-1097473776
RDA
2004-10-11 09:49
2004.10.31
Script под Inno Setup для исталяции Firebird 1.5


4-1096128648
Yuri Btr
2004-09-25 20:10
2004.10.31
Проблема с VCL компонентами при установке таймера timeSetEvent