SQL Serverでデータのギャップを読み込む方法
SQL Serverでは、以下の方法で列のデータを取得できます。
- TOPキーワードとORDER BY句を使用して、返される行数を制限し、指定されたインターバルの数に応じて結果セットを並べ替えます。たとえば、n行ごとに読み取る場合は、以下のクエリを使用できます。
SELECT TOP (n) *
FROM your_table
WHERE your_condition
ORDER BY your_column
- ROW_NUMBER() 関数と CTE(コモンテーブル式)を使用して行ごとに連番を振ったのち、連番に応じた間隔の行を選択する。たとえば n 行ごとに間隔を置いて行を読み込む場合、以下のクエリを使用できます。
WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (ORDER BY your_column) AS rn
FROM your_table
WHERE your_condition
)
SELECT *
FROM CTE
WHERE rn % n = 0
「your_table」とは、例で示したデータが読み込まれるテーブル名、「your_condition」とは、適用されるフィルタ条件、「your_column」とは、並べ替えに用いられる列名、「n」とは、インターバル数です。
必要に応じて、これらの方法を調整および修正します。