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

ピボットから値を集計する方法

    counted2 を変更するのが最も速い方法のようです。 CTE、列 TimesTested あなたの論理を考慮してください。

    counted2 as (
      SELECT
        client_id,
        CASE WHEN TimesTested >= 12 THEN 12 ELSE TimesTested END TimesTested,
        CAST(COUNT(*) AS varchar(30)) AS count,
        CAST(AVG(testfreq) as varchar(30)) as TestFreq,
        CAST(STDEV(TestFreq) as varchar(30)) Stdv
      FROM counted
      GROUP BY
        client_id,
        CASE WHEN TimesTested >= 12 THEN 12 ELSE TimesTested END
        )
    



    1. mysqlがwhere句で文字列をintにキャストしないようにします

    2. テーブルSQLサーバーの上位1レコードを更新します

    3. 特定の列によるデルタ(現在の行と前の行の差)mysqlグループを計算します

    4. PostgreSQLでパターンを照合しながら文字列をエスケープする方法