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

SQL Server:中央値(グループ化)を計算する方法は?

    次のように小数を使用するようにコードを変更する必要があります

     SELECT
       dst,
       AVG(sp)
    FROM
    (
       SELECT
          dst,
          cast(sp as decimal(5,2)) sp,
          ROW_NUMBER() OVER (
             PARTITION BY dst 
             ORDER BY sp ASC, id ASC) AS RowAsc,
          ROW_NUMBER() OVER (
             PARTITION BY dst 
             ORDER BY sp DESC, id DESC) AS RowDesc
       FROM dbo.cars SOH
    ) x
    WHERE 
       RowAsc IN (RowDesc, RowDesc - 1, RowDesc + 1)
    GROUP BY dst
    ORDER BY dst;
    

    現在、AVGコマンドはintで実行されるため、結果はintになります



    1. phpおよびjqueryajaxを使用してフォームを送信した後、データベースにデータを挿入できません

    2. データベースの削除は、どのトランザクションでも実行する必要はありませんか?

    3. MySQLで中央値を計算する簡単な方法

    4. Unicodeを完全にサポートするSQLiteで大文字と小文字を区別しない検索を実装する5つの方法