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

SQL Server で 2 つの行を比較して列間の平均を計算する

    min() を使用できると思います およびmax() 簡単にするために、入札/アプリのペアの時間を取得します。残りは単なる集約とさらなる集約です。

    あなたが説明した処理は次のようです:

    select avg(avg_bid_diff)
    from (select bid, avg(diff*1.0) as avg_bid_diff
          from (select bid, appid,
                       datediff(second, min(starttime), max(statustime)) as diff
                from t
                where appstatus in ('In Review', 'Approved')
                group by bid, appid
                having count(*) = 2
               ) ba
          group by bid
         ) b;
    

    これにより、提供されたデータと一致する仮定が立てられます。つまり、ステータスに入札/アプリのペアの重複がなく、承認は常にレビュー後に行われるということです。




    1. 2つの列のいずれかで競合が発生した場合にPostgresでアップサートするにはどうすればよいですか?

    2. MySQLデータベースでのバージョン管理(Git)の使用

    3. HibernateとApacheDBCPを使用したMySQLの接続プールの問題

    4. Oracle STANDARD_HASHはPLSQLでは使用できませんか?