J'ai deux requêtes SQL qui obtiennent la température moyenne d'un États pays et pour l'ensemble du pays, pour chaque année:SQL - Différence entre deux requêtes
SELECT strftime('%Y', date) as valYear, AVG(averageTemperature)
FROM state
WHERE country = 'Africa'
GROUP BY valYear
SELECT strftime('%Y', date) as valYear, AVG(averageTemperature)
FROM country
WHERE country = 'Africa'
GROUP BY valYear
Ce que je veux faire est de calculer les différences entre l'état et national pour chaque année. Ainsi, par exemple:
Les données nationales
Year AverageTemp
-----------------
1954 17.5
1955 18
et État des données:
Year AverageTemp
-----------------
1954 15.5
1955 15
céderais:
Différence
Year Diff
-----------
1954 2
1955 3
J'ai essayé de faire quelque chose comme ça, mais ça ne donne pas la bonne réponse.
SELECT
s.date, (c.averageTemperature - s.averageTemperature) AS Difference
FROM
state s
INNER JOIN
country c ON s.date = c.date
WHERE
s.country = 'Africa' AND c.country = 'Africa'