SQL-запрос, чтобы получить среднее значение, как показано ниже, или как использовать критерии гибернации - PullRequest
0 голосов
/ 07 сентября 2018
Column Mode:   0 1 0 1
Column Value1: 5 6 4 8
Column Value2: 10 7 5 20

Как получить значение Avg на основе режима, например, для режима 0, он будет принимать значение из столбца Value1 и 1, он будет принимать значение из столбца Value2

Avg = (5 + 7 + 4 + 20) / 4 = 9

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вы можете использовать оператор mysql CASE для выбора значения1 или значения2 в зависимости от значения режима. Приведенный ниже запрос должен работать для вас.

SELECT 
    AVG(CASE
        WHEN mode = 0 THEN value1
        WHEN mode = 1 THEN value2
    END)
FROM test
0 голосов
/ 07 сентября 2018

ниже может работать

 select (val1+val2)/2 from 
    (select sum(case when mode =0 then value1 end) as val1 ,
     sum(case when mode=1 then value2 end) as val2
    ) t

Или

select avg(case mode when 0 then Value1
                 when 1 then Value2
                   else 0 end) from t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...