Нужно подсчитать кол-во записей для которых выполняеться условие GF_H>GF_A

MrDron
Дата: 02.11.2005 15:01:33
Мне нужно подсчитать кол-во записей для которых выполняеться условие GF_H>GF_A
Сервер ИБ 6.5

в ассексе делалось примерно так
SUM( IIF (GF_H>GF_A),1,0 )as SUM_W
c IB знаком мало и там лезет ошибка
подскажи чо дак бо ИИФ я понял ИБ не знаеть..
VirusXP
Дата: 02.11.2005 15:07:40
select count(*)
from <таблица>
where <условие>
MrDron
Дата: 02.11.2005 15:55:59
VirusXP
select count(*)
from <таблица>
where <условие>

не то...
БОЛЕЕ ПОДРОБНО - ЕСТЬ

SELECT T_R,
SUM(GF_H)as SUM_H,
SUM(GF_A)as SUM_A,
count(*)
FROM BASE
WHERE P_G=1 and L_G=42 and DATA>'07/01/2005'
GROUP BY T_R

А ЕЩЕ НАДО для T_R подсчитать сколько раз выполнилось условие SUM_H>SUM_A
Карабас Барабас
Дата: 02.11.2005 16:00:27
Где посчитать ?

Posted via ActualForum NNTP Server 1.3

FreemanZAV
Дата: 02.11.2005 17:36:12
Через rfun в IB 6.5
SUM( DIF (sign(GF_H-GF_A)+1,1,0 ))as SUM_W  
Гаджимурадов Рустам
Дата: 02.11.2005 19:03:02
Ниче не понял. Можно с данными хотя бы?
MrDron
Дата: 03.11.2005 09:58:49
Гаджимурадов Рустам
Ниче не понял. Можно с данными хотя бы?

Данные таблица BASE (пример упрощенный)
T_R GF_H GF_A
1____0_____0
1____1_____1
1____2_____1
2____1_____1
2____1_____0
2____3_____1

Результат запроса должен быть таким
T_R SUM_H SUM_A Count SUM_W
1____3______2______3______1
2____5______2______3______2
Где Сount количество записей для T_R=1,2 и т.д
SUM_W кол-во записей для которых выполняеться условие GF_H>GF_A
(естественно в пределах T_R)
MICROLAB
Дата: 04.11.2005 13:08:49
MrDron

SELECT T_R,
SUM(GF_H)as SUM_H,
SUM(GF_A)as SUM_A,
count(*)
FROM BASE
WHERE P_G=1 and L_G=42 and DATA>'07/01/2005'
GROUP BY T_R

А ЕЩЕ НАДО для T_R подсчитать сколько раз выполнилось условие SUM_H>SUM_A


Я не совсем понял, но может так:
SELECT T_R,
       SUM(GF_H)as SUM_H,
       SUM(GF_A)as SUM_A,
       count(*)
FROM BASE
WHERE P_G=1 and L_G=42 and DATA>'07/01/2005'
GROUP BY T_R
HAVING SUM(GF_H)>SUM(GF_A)