У меня есть несколько таблиц ('table001', 'table002' и т. Д.) С огромным количеством строк и нескольких столбцов.
Столбцы - это "id" (ключ), "mode"(либо «ui», либо «cmd») и дату.
Я хочу выяснить, сколько уникальных идентификаторов существует во всех таблицах, чей режим установлен на «ui» и чья дата меньше 30 днейтому назад.
Это мой текущий запрос:
SELECT COUNT(*) FROM
(
SELECT id FROM table001 WHERE mode="ui" AND date > (NOW() - INTERVAL 30 DAY)
UNION
SELECT id FROM table002 WHERE mode="ui" AND date > (NOW() - INTERVAL 30 DAY)
UNION
SELECT id FROM table003 WHERE mode="ui" AND date > (NOW() - INTERVAL 30 DAY)
UNION
[...etc etc for 30 tables]
) as t
Это правильный способ сделать это?