Создать представление в mysql с максимальным значением для каждой таблицы в базе данных

#mysql #sql #aggregate-functions #sql-view #union-all

#mysql #sql #агрегат-функции #sql-представление #объединение-все

Вопрос:

У меня есть много таблиц с одинаковыми столбцами в базе данных mysql.

Я хотел бы создать представление для хранения максимального значения одного из столбцов и имени таблицы.

Что-то вроде vw_max_table_vals Имя_таблицы Строка (100) maxVal метка времени

Как я могу это сделать в mysql.

С уважением

Комментарии:

1. Возможно, было бы лучше подумать, почему у вас есть несколько одинаковых таблиц.

Ответ №1:

Для фиксированного списка таблиц вы можете использовать union all . Предполагая, что у вас есть три таблицы ( t1 , t2 и t3 ) со столбцом под названием col :

 create view myview as
select 't1' as table_name, max(col) as max_col from t1
union all select 't2', max(col) from t2
union all select 't3', max(col) from t3
 

Обратите внимание, что для этого требуется, чтобы тип col данных должен быть согласованным для трех таблиц.