の2つのテーブル列の値に基づいて平均を計算しようとしていますMySQL
。
私がこのテーブル構造を持っているとしましょう:
id | user_id | first_score | last_score
1 | 1 | 10 | 60
2 | 1 | 70 | 10
3 | 1 | 100 | NULL
ここで達成しようとしているのは、最高値(つまり、60、70、100)のAVGを計算することです。しかし、彼らが異なる列にいるのを見て、それについてどうやって行くのかわからない。
これは、GREATEST関数を使用して解決します。残念ながら、一方または両方の値がNULLの場合、結果はNULLになります。そう:
select avg( greatest( coalesce(first_score,last_score) , coalesce(last_score,first_score) ) )
from mytable;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加