Column Mode: 0 1 0 1 Column Value1: 5 6 4 8 Column Value2: 10 7 5 20
如何根据模式获取平均值,例如,对于模式0,它将从value1列获取值,而对于1,它将从value2列获取值平均值=(5+7+4+20)/4=9
cczfrluj1#
你可以使用mysql CASE 语句根据模式的值选择value1或value2。下面的查询应该适合您。
CASE
SELECT AVG(CASE WHEN mode = 0 THEN value1 WHEN mode = 1 THEN value2 END) FROM test
iyzzxitl2#
下面可能有用
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
2条答案
按热度按时间cczfrluj1#
你可以使用mysql
CASE
语句根据模式的值选择value1或value2。下面的查询应该适合您。iyzzxitl2#
下面可能有用
或