SQLite: среднее значение столбца, проиндексированного двумя столбцами - PullRequest
0 голосов
/ 08 сентября 2018

С учетом следующей таблицы

+----+----+------+
|id1 |id2 |value |
+----+----+------+
| 1  | 2  | 10   |
| 1  | 3  | 20   |
| 1  | 4  | 30   |
| 2  | 3  | 10   |
| 2  | 4  | 40   |
| 3  | 4  | 10   |
+----+----+------+

Я хочу, чтобы avg (значение) каждого идентификатора находилось в столбце id1 или id2.

Таким образом, вывод должен быть:

1,20

2,20

3,16.66

4,26.6

Помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 сентября 2018

Вы можете использовать UNION ALL:

WITH cte AS (
  SELECT id, value FROM tab
  UNION ALL
  SELECT id2, value FROM tab
)
SELECT id, AVG(value) AS value
FROM cte
GROUP BY id;

DBFidde Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...