SQL - как суммировать по разным строкам, имея другое уравнение для первой

Я не знаю, работает ли это, потому что я не могу проверить его, но я предлагаю что-то вроде этого:

$expression = 'STUFF((SELECT ',' + answer as lookingfordetails FROM table FOR XML PATH('')),1 ,1 ,'')';

$query->addExpression($expression);

Я думаю, вы могли видеть преобразование group_concat в другие базы данных: http://www.sqlines.com/mysql/functions/group_concat

0
задан Lulumocha 20 January 2019 в 00:31
поделиться

2 ответа

Формулы для всех строк выглядят одинаково для меня:

SELECT t.*,
       SUM(COALESCE(beg_Inventory, 0) + purchase - sales) OVER (PARTITION BY dim1, dim2 ORDER BY date) as ending_inv
FROM t
ORDER BY dim1, dim2, date;
0
ответ дан Gordon Linoff 20 January 2019 в 00:31
поделиться

Попробуйте использовать first_value(), чтобы получить первое значение beg_inventory в окне, а затем добавьте в него окно sum() покупок и продаж.

SELECT dim1,
       dim2,
       date,
       beg_inventory,
       purchase,
       sales,
       first_value(beg_inventory) OVER (PARTITION BY dim1,
                                                     dim2
                                        ORDER BY date)
       +
       sum(purchase - sales) OVER (PARTITION BY dim1,
                                                dim2
                                   ORDER BY date) ending_inv
       FROM elbat
       ORDER BY dim1,
                dim2,
                date;
0
ответ дан sticky bit 20 January 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: