2

batchId (連続番号) が前の 2 つよりも古いテーブル内のすべての行を削除したいと思います。おそらく、次のクエリを使用して SQL データベースでこれを行うことができます。

WITH CTE AS(
    SELECT
        *,
        DENSE_RANK() OVER(ORDER BY BATCHID DESC) AS RN
    FROM MyTable
)
DELETE FROM CTE WHERE RN>2

ただし、これによる SQL データ ウェアハウスでは同じことは許可されていません。ここで代替案を探します。

4

3 に答える 3