Суммирование значений в одном столбце в sql - PullRequest
0 голосов
/ 24 мая 2018

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

Что у меня есть: - таблица: -

|key|year|value|
----------------
|sam|2013| 30   |
-----------------
|sam|2014| 50   |
-----------------
|sam|2015| 70   |
-----------------
|sam|2016| 90   |
-----------------
|Jam|2013| 0   |
-----------------
|Jam|2014| 10   |
-----------------
|Jam|2015| 0   |
-----------------
|Jam|2016| 20   |
-----------------

Запрос: -

SELECT (t1.value + t2.value) AS total
FROM table t1 CROSS JOIN table t2
WHERE t1.year = t2.year AND t1.key  <> t2.key;

Вывод для этого запроса: -

|total|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----

Но я хочу: -

|total|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----

Может кто-нибудь сказать мне, какую модификацию я должен сделать, чтобы получить эторезультат?

1 Ответ

0 голосов
/ 24 мая 2018

Я думаю, что вы хотите агрегации:

SELECT sum(value) as total
FROM table t1
GROUP BY year
ORDER BY year;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...