SQLITE Запрос СРЕДНИЙ выбор / Присоединение

#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