У меня есть две таблицы с одинаковой схемой. Я хочу, чтобы получить количество всех людей с данной фамилией в обеих таблицах, и нашел, что я могу сделать это так:Группа по двум таблицам
SELECT surname, count(*) AS cnt
FROM
(
SELECT surname
FROM people.NorthKorea
UNION ALL
SELECT surname
FROM peopleGlobal.NorthKorea
) AS t
GROUP BY surname
ORDER BY cnt DESC
Это хорошо для маленьких таблиц, но у меня есть таблицы с до 250 миллион строк, поэтому было интересно, может ли быть более эффективный способ сделать это? Например, ВСТАВИТЬ результат COUNT из одной таблицы в таблицу, а затем обновить/вставить (ЗАМЕНИТЬ?) Результат COUNT во второй таблице.
N.B. Я действительно хочу сохранить результат COUNT на обеих таблицах в другой таблице.
Зачем вам хранить счет в таблице? Вам нужно будет обновить его в любое время, когда будут изменены фамилии. Похоже на плохую идею. –
Две исходные таблицы - это списки людей, которые живут в Северной Корее. Они не будут обновлены. –