Форум: "Базы";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизКак получить сумму значений по диапазонам Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.343 c