Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL:Vergleichen von zwei Zählungen aus verschiedenen Tabellen

Beginnen Sie damit, die Summen für jeden einzeln zu ermitteln:

# Sum of lakes
SELECT code, count(*) AS sum FROM lakes GROUP BY code

# Sum of mountains
SELECT code, count(*) AS sum FROM mountains GROUP BY code

Fügen Sie dann die Ergebnisse zusammen und wählen Sie alle Zeilen aus, in denen die Summe der Berge für ein Land kleiner ist als die Anzahl der Seen:

SELECT l.code AS code, l.sum AS lake_count, m.sum AS mountain_count
FROM
(SELECT code, count(*) AS sum FROM lakes GROUP BY code) AS l JOIN
(SELECT code, count(*) AS sum FROM mountains GROUP BY code) AS m
ON l.code = m.code
WHERE m.sum < l.sum