sql >> データベース >  >> RDS >> Database

SQLで数値列の平均を見つける方法

    問題:

    列に格納されている数値の平均を計算したい。

    例:

    私たちのデータベースには、sale 次の列にデータがあります:idcityyear 、およびamount

    id 都市 金額
    1 ロサンゼルス 2017 2345.50
    2 シカゴ 2018 1345.46
    3 アンナンデール 2016 900.56
    4 アンナンデール 2017 23230.22
    5 ロサンゼルス 2018 12456.20
    6 シカゴ 2017 89000.40
    7 アンナンデール 2018 21005.77
    8 シカゴ 2016 2300.89

    都市や年に関係なく、平均売上高を計算しましょう。

    解決策:

    SELECT AVG(amount) as avg_amount
    FROM sale;
    

    結果は次のとおりです。

    avg_amount
    19073.125000

    ディスカッション:

    列に格納されている数値の平均を計算する場合は、AVG()を使用して計算できます。 集計関数;引数として、平均を計算する列の名前を取ります。 SELECTで他の列を指定していない場合 条項では、平均はテーブル内のすべてのレコードについて計算されます。

    もちろん、これは集計関数なので、AVG() グループで使用することもできます。たとえば、都市ごとの平均売上高を求めたい場合は、次のクエリを記述できます:

    SELECT city, AVG(amount) as avg_amount
    FROM sale
    GROUP BY city;
    

    各都市の平均が計算されます:

    city 金額
    ロサンゼルス 7400.850000
    シカゴ 30882.250000
    アンナンデール 15045.516667

    さらに、平均を丸める必要がある場合は、AVG()の結果を渡すことができます。 ROUND()への関数 :

    SELECT city, 
      ROUND(AVG(amount), 2) as avg_amount
    FROM sale
    GROUP BY city;
    

    1. PL / SQLでファイルをZIPする方法は?

    2. Oracle-リテラルがフォーマット文字列エラーと一致しません

    3. SQLServerExpressエディションでジョブを作成する方法

    4. SQL Server(T-SQL)にテーブルをドロップする前にテーブルが存在するかどうかを確認する4つの方法