#sqlite #join #average
Вопрос:
Я старался изо всех сил, но я не в состоянии справиться с этим 🙂 У меня есть две таблицы, я пытаюсь сравнить средние данные из первой таблицы с данными 2 из таблицы 2.
Таблица 1
Имя | Данные |
---|---|
aa | 1 |
aa | 5 |
aa | 10 |
AB | 10 |
AB | 50 |
AB | 100 |
СРЕДНЕЕ значение AA = 5,333… Средний показатель AB = 53,333…
Таблица 2
Имя 2 | Данные 2 |
---|---|
aa | 4 |
AB | 50 |
Результат, который я хочу:
Имя | Данные | Имя 2 | Данные 2 |
---|---|---|---|
aa | 5.333… | aa | 4 |
AB | 53.333 | AB | 50 |
Я попробовал что-то вроде этого…
SELECT (SELECT AVG(Data) FROM Table1) AS AVGData, (SELECT Name FROM Table1) AS Name, Table2.*, FROM "Table2"
GROUP BY Table2.Name
Ответ №1:
Предполагая, что обе таблицы содержат одинаковые имена, необходимо выполнить агрегацию, Table1
а затем присоединиться к Table2
:
SELECT t2.*, t1.*
FROM (
SELECT Name, AVG(Data) Data
FROM Table1
GROUP BY Name
) t1 INNER JOIN Table2 t2
ON t2.Name2 = t1.Name