Как суммировать значение, а также показывать исходное значение - PullRequest
0 голосов
/ 04 октября 2019

Я хочу получить данные из таблицы, в которой я суммирую column3 как Итого, а затем я хочу показать значение оригинала column3, а также для всех строк, у которых column1 = 1

Пример

 colum1 column2 column3
  1         2456      20.00
  2         2456      -5.00
  1         2457      30.00
  2         2457      -5.00

Я сделал

select a.column1,a.column2, sum(a.column3), b.column3 as total 
from table A 
inner join table B on a.column2 = b.column2 
group by a.column1 

, но все-таки не очень удобно размещать b.column3 как часть моего выбора.

 colum1 column2      column3     total
  1         2456      20.00      15.00
  1         2457      30.00      25.00

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Я думаю, вы хотите условное агрегирование:

SELECT ROW_NUMBER() OVER (ORDER BY column2) as id,
       column2,
       MAX(CASE WHEN column1 = 1 THEN column3 END) as column3,
       SUM(column3) AS Total
FROM t
GROUP BY column2

Я не знаю, как вычисляется первый столбец в наборе результатов. Я предполагаю, что это по сути номер строки.

0 голосов
/ 04 октября 2019

Использование Aggregate Function

SELECT column1,column2, MAX(column3), SUM(column3) AS Total
FROM Table1
GROUP BY column1,column2

SQL FIDDLE

...