|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
А можно ли самому чего-нибудь подобное написать? Сделать свою аггрегирующую функцию..., например.... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2005, 12:38 |
|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
А если честно, то нужна функция, которая возвращает произведение всех записей в столбце....:( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2005, 12:41 |
|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
Типа факториала что-ли? )) Факториал столбца...) Вообще что-то в доках я вроде что-то вроде-бы видел подобное, дескать можно, но сам не пробовал.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2005, 13:44 |
|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
Дык через рекурсию можео посчитать - без городьбы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2005, 14:06 |
|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
А как это через рекурсию... Я пока сделал через функцию, которая домножает тек значение на произведение предыдущих.... Это не одно и тоже... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2005, 14:31 |
|
SUM, AVG, MIN, MAX....
|
|||
---|---|---|---|
#18+
Пусть есть таблица SR (NUM,VAL) - Номер и Значение: VALUES (1,9),(2,8),(3,7),(4,6),(5,5),(6,4),(7,3),(8,2),(9,1) (Для получения NUM можно воспользоваться row_number() over ()) WITH V_T(num,val) AS ( SELECT * FROM SR WHERE num=1 UNION ALL SELECT SR.NUM VT1.VAL*SR.VAL FROM V_T, SR WHERE SR.NUM = V_T.NUM+1 ) SELECT VAL FROM V_T WHERE NUM = (SELECT MAX(NUM) FROM SR) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2005, 09:57 |
|
|
start [/forum/topic.php?fid=43&fpage=147&tid=1605936]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 292ms |
total: | 408ms |
0 / 0 |