Si necesita el valor (a+b+c)/3
en más de una sola consulta y su dialecto SQL soporta puntos de vista, es posible que desee considerar el uso de una vista.
El siguiente código se puede usar en MySQL
para crear una vista que contenga todas las columnas de la tabla MY_TABLE_NAME
+ una columna adicional que contenga el valor (a+b+c)/3
.
CREATE ALGORITHM = UNDEFINED
SQL SECURITY DEFINER VIEW `MY_TABLE_NAME_FULL_VIEW` AS
SELECT MY_TABLE_NAME.*, (a+b+c)/3 AS Average
FROM `MY_TABLE_NAME`;
El código siguiente se puede utilizar en MySQL
para crear una vista que contiene sólo las columnas A, B y C + una columna adicional que contiene el valor (a+b+c)/3
.
CREATE ALGORITHM = UNDEFINED
SQL SECURITY DEFINER VIEW `MY_TABLE_NAME_LIMITED_VIEW` AS
SELECT a, b, c, (a+b+c)/3 AS Average
FROM `MY_TABLE_NAME`;
El siguiente código se puede utilizar en MySQL
crear una vista en MySQL que contiene sólo el valor (a+b+c)/3
.
CREATE ALGORITHM = UNDEFINED
SQL SECURITY DEFINER VIEW `MY_TABLE_NAME_AVERAGE_VIEW` AS
SELECT (a+b+c)/3 AS Average
FROM `MY_TABLE_NAME`;
Después de crear su vista, use la vista en lugar de la tabla en sus consultas de selección.
Suponiendo que creó vista MY_TABLE_NAME_AVERAGE_VIEW
, podría reemplazar a su estado de SELECT
con esto:
SELECT Average AS V, MIN(Average) AS Min, MAX(Average) AS Max
FROM MY_TABLE_NAME_AVERAGE_VIEW;
Suponiendo que creó vista MY_TABLE_NAME_LIMITED_VIEW
, y también hay que incluir los valores A, B y C, que podía reemplazar su declaración SELECT
con esto:
SELECT a, b, c, Average AS V, MIN(Average) AS Min, MAX(Average) AS Max
FROM MY_TABLE_NAME_LIMITED_VIEW;
Tenga en cuenta que la primera expresión de selección será al azar (assumi ng mysql y ningún grupo por) – Unreason