| furu さん
特に日付の指定はありませんので、furuさんのhavingを使用した方法で
希望のデータが取得できました。
魔界の仮面弁士さん
havingのSQLは理解できたのですが、仮面弁士さんのSQLが難しすぎて理解できませんでした。
DELETEでは何をしているのでしょうか?
軽くでいいのでSQLの解説をお願いできないでしょうか
DELETE FROM TBL WHERE ROWID IN (
WITH W1 AS (
SELECT No, 売上日, 商品コード, 販売数, SUM(販売数)
OVER (PARTITION BY 商品コード ORDER BY 売上日 DESC) AS 累計
FROM TBL
), W2 AS (
SELECT No, 売上日, 商品コード, 販売数, 累計, LAG(累計, 1, 0)
OVER (PARTITION BY 商品コード ORDER BY 売上日 DESC) AS 前回累計
FROM W1
)
SELECT ROWID FROM W2 WHERE 前回累計 < 50
)
|