動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
SQL

① ORDER BY なしで PARTITION BY だけ書く罠

出典: SQL Server ROW_NUMBER の落とし穴 — Window Function の内部実装と Sort Operator の判断軸落とし穴 3 つ — ORDER BY なし / PARTITION BY 設計ミス / Sort Operator スピル / ① ORDER BY なしで PARTITION BY だけ書く罠

① ORDER BY なしで PARTITION BY だけ書く罠 (sql)#898007531d46
-- NG: 同点の時に順位がブレる
SELECT customer_id, ROW_NUMBER() OVER (ORDER BY total_sales DESC) AS rn
FROM monthly_sales;
 
-- OK: customer_id を tiebreaker に
SELECT customer_id, ROW_NUMBER() OVER (ORDER BY total_sales DESC, customer_id) AS rn
FROM monthly_sales;
▸ 実行ボタンで結果を表示
  • id: #898007531d46
  • lines: 7
  • extracted: 2026-06-10
  • captured: 2026-06-10

Source収録記事

この snippet は記事の「落とし穴 3 つ — ORDER BY なし / PARTITION BY 設計ミス / Sort Operator スピル / ① ORDER BY なしで PARTITION BY だけ書く罠」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

2
図鑑トップ