Имя: Пароль:
1C
 
Как исключить в агрегатной функции строки по условию?
0 toypaul
 
гуру
15.02.18
13:35
Например Количество(РАЗЛИЧНЫЕ МоеПоле) и внутри некоторое условие, только по которому считается функция
1 vde69
 
15.02.18
13:39
попробуй так

Количество(РАЗЛИЧНЫЕ Выбор.....)
2 toypaul
 
гуру
15.02.18
13:40
выбор не исключит строки, а только вычислит в соот-ии со своей логикой
3 toypaul
 
гуру
15.02.18
13:41
при этом количество(различные ...) будет возвращать всегда минимум 1 ...

хотя... если null например в иначе написать. будет считать?
4 rs_trade
 
15.02.18
13:47
а почему нельзя посчитать то что нужно с условием во where?
5 toypaul
 
гуру
15.02.18
13:49
+ (3) хм и точно - так работает

(4) потому что в одном наборе надо посчитать разные агрегатные функции. по всем записям
6 rs_trade
 
15.02.18
13:49
select
    count(distinct case when [Field]='val' then 1 else null end)
from tab1

Так надо?
7 Ненавижу 1С
 
гуру
15.02.18
13:51
(6) else null лишнее, но это я придираюсь
8 vde69
 
15.02.18
13:54
(6) так будет количество по условию, а в (0) ты просишь количество "РАЗНЫХ"
9 rs_trade
 
15.02.18
13:57
(8) вместо 1 поле нужное подставить
10 toypaul
 
гуру
15.02.18
13:57
(6) вместо 1 будет стоять значение моего поля
11 vde69
 
15.02.18
14:00
(9) (10) ну если разные по одному полю - то да, а если надо из выборки получить


зеленая, яблоко
желтая, яблоко
зеленая, груша
12 toypaul
 
гуру
15.02.18
14:02
(7) типа и в 1С можно ИНАЧЕ не писать?
13 Ненавижу 1С
 
гуру
16.02.18
16:23
(12) если ИНАЧЕ NULL то можно не писать
14 Вафель
 
16.02.18
16:26
(11) никаких отличий нет
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший