Выбор общих значений и добавление их SQL - PullRequest
0 голосов
/ 10 января 2019

У меня есть таблица под названием Test. Он имеет три столбца Fn (varchar), Un (число), INS (дата). То, что я пытаюсь сделать, это выбрать все строки из таблицы и получить сумму общих значений в столбце Fn.

Пример

     Fn Un     INS
     ---------------
     1   6   9-Jan-2017
     2   8   9-Jan-2017
     1   5   4-Jan-2017`

Я пытаюсь суммировать общие значения на основе столбца Fn, чтобы результат был

Fn Un 
1   11

Я пытаюсь понять, как СЛУЧИТЬ ЕСЛИ В Oracle. Но не в состоянии добавить их, потому что дата INS различна для них обоих. Есть ли способ добиться этого. Спасибо.

Ответы [ 3 ]

0 голосов
/ 10 января 2019

Я думаю, вам нужна группа, как показано ниже:

select fn, sum(un) as total
from t
group by fn
order by total desc;

Вы можете использовать Aggregate functions (Среднее, Сумма, Макс, Мин ..) в sql с group by. https://en.wikipedia.org/wiki/Aggregate_function

0 голосов
/ 10 января 2019

Попробуйте функцию LISTAGG для столбца INS

     SELECT Fn, SUM(Un) as Total, LISTAGG(INS, '; ') WITHIN GROUP (ORDER BY Fn) as INSs
     FROM T
     GROUP BY Fn
     ORDER BY Total DESC;
0 голосов
/ 10 января 2019

Вы, кажется, хотите group by:

select fn, sum(un)
from t
group by fn
having count(*) >= 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...