Получить связанные столбцы в группе по SQL-запросу - PullRequest
0 голосов
/ 01 октября 2018

У меня есть база данных с данными, которые относятся к странам, упрощенно это выглядит примерно так:

ID | country_id | country_ISO | var_value
1  | 1          | FR          | 10
2  | 2          | BE          | 15
3  | 3          | NL          | 20
4  | 1          | FR          | 6
5  | 2          | BE          | 8
6  | 2          | BE          | 12

Я хотел бы получить сумму значений "var_value", но с этим я хочуиметь также country_id country_ISO.

Я могу сделать это:

SELECT
  country_ISO,
  SUM(var_value) AS sum_of_value
FROM
  table_name
GROUP BY
  country_ISO;

Этот запрос даст мне сумму var_value и ISO страны, но я также хочу получить country_id,Как выполнить подзапрос / самостоятельное объединение, чтобы получить дополнительные столбцы, которые связаны (уникальным образом), например, с country_ISO?

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

Поскольку country_iso зависит от country_id, просто увеличьте GROUP BY на country_id.

SELECT country_id,
       country_iso,
       sum(var_value) sum_of_value
       FROM table_name
       GROUP BY country_id,
                country_iso;
0 голосов
/ 01 октября 2018

Если contry_id, contry_ISO соответствует 1: 1, то просто сгруппируйте с помощью contry_id, contry_ISO.

SELECT
  contry_id,
  country_ISO,
  SUM(var_value) AS sum_of_value
FROM
  table_name
GROUP BY
  contry_id,
  country_ISO;
0 голосов
/ 01 октября 2018

Просто включите этот столбец также в GROUP BY предложение:

SELECT country_id, country_ISO, SUM(var_value) AS sum_of_value
FROM table_name tn
GROUP BY country_id, country_ISO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...