Select (a+b+c)/3 AS V, MIN((a+b+c)/3) as Min, MAX((a+b+c)/3) as Max from ....
Bu formülü (tekrarlamaktan kaçınmak için temiz bir yolu var mı a + b + c)/3 toplu işlevlerde?
Select (a+b+c)/3 AS V, MIN((a+b+c)/3) as Min, MAX((a+b+c)/3) as Max from ....
Bu formülü (tekrarlamaktan kaçınmak için temiz bir yolu var mı a + b + c)/3 toplu işlevlerde?
SELECT
Result/3 AS V,
MIN(Result/3) as Min,
MAX(Result/3) as Max
FROM
(
SELECT (a+b+c) AS Result from Table
) AS outerTable
YA hatta
SELECT
Result AS V,
MIN(Result) as Min,
MAX(Result) as Max
FROM
(
SELECT (a+b+c)/3 AS Result from Table
) AS outerTable
+1 ancak iç seçimdeki bölünmeyi yaparak belki daha da basitleştirebilirsiniz. –
Gelecek SQL standardının destekleyebileceğini merak ediyorum ** alt soruyu önlemek için aynı seçim listesinde diğer adı kullan ** –
sen daha adil bir sorguda değerini (a+b+c)/3
gerekiyorsa ve SQL lehçesi bir görünümü kullanarak düşünebilirsiniz, görüşlerini destekler.
Aşağıdaki kod (a+b+c)/3
değerini içeren ek bir sütun MY_TABLE_NAME
+ tablonun tüm sütunlarını içeren bir Görünüm oluşturmak için MySQL
'da kullanılabilir.
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`;
Aşağıdaki kod
yalnızca a, b ve c + değeri(a+b+c)/3
içeren ek bir sütun sütun içeren bir görünüm oluşturmak için
MySQL
kullanılabilir.
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`;
Aşağıdaki kod
sadece değerini(a+b+c)/3
içeren MySQL Görünüm oluşturmak için
MySQL
kullanılabilir. Görünümünüzü oluşturduktan sonra, seçtiğiniz sorgunuzda tablo yerine görünümü kullanın.
SELECT Average AS V, MIN(Average) AS Min, MAX(Average) AS Max
FROM MY_TABLE_NAME_AVERAGE_VIEW;
görünümü MY_TABLE_NAME_LIMITED_VIEW
oluşturulan varsayarsak, ve ayrıca değerleri yaparsın a, b ve C dahil etmek gerekir: görünümü MY_TABLE_NAME_AVERAGE_VIEW
oluşturulan varsayarsak
, ama bu işte SELECT
deyimi yerini alabilir
SELECT a, b, c, Average AS V, MIN(Average) AS Min, MAX(Average) AS Max
FROM MY_TABLE_NAME_LIMITED_VIEW;
İlk select ifadesinin rasgele (assumi) olacağını unutmayın. ng mysql ve no group by) – Unreason