Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
14-1097478870
TeNY
2004-10-11 11:14
2004.10.31
Дескриптор<->TObject;


8-1090225353
dedMazDie
2004-07-19 12:22
2004.10.31
Быстрая работа с файлами Jpeg


14-1097481073
panov
2004-10-11 11:51
2004.10.31
/OffTopic/


14-1097670165
}|{yk
2004-10-13 16:22
2004.10.31
10 лет "Океан Эльзы"!


6-1093416257
BVV
2004-08-25 10:44
2004.10.31
idMappedPortTCP




   Наверх