トップ10の行の次の20行を選択しようとしています。あなたは、データセットの行番号付けを定義するためにCTE(共通テーブル式)のようなものとROW_NUMBER
を使用する必要がトップ10の次の20行を選択してください。
select TOP 20 *
from memberform
where Row_Number over(10)
トップ10の行の次の20行を選択しようとしています。あなたは、データセットの行番号付けを定義するためにCTE(共通テーブル式)のようなものとROW_NUMBER
を使用する必要がトップ10の次の20行を選択してください。
select TOP 20 *
from memberform
where Row_Number over(10)
- その中から選択をしたい行のセットのためのCTEの番:
;WITH PagingCte AS
(
SELECT
(list of columns),
RowNum = ROW_NUMBER() OVER (ORDER BY -some-column-of-yours-)
FROM
dbo.memberform
)
SELECT
(list of columns)
FROM
PagingCte
WHERE
RowNum BETWEEN 10 AND 29
ウィンドウ機能では、を定義する必要があります。これは、行の番号付け方法(日付順、IDなど)を定義します。を注文する明示的ななし
は、持っていたされた最初の10の後には次の20は
WITH T AS
(
SELECT TOP 30 name,
row_number() OVER (ORDER BY id) AS RN
FROM memberform
ORDER BY id
)
SELECT
MAX(CASE WHEN RN <=10 THEN name END) AS Col1,
MAX(CASE WHEN RN > 10 THEN name END) AS Col2
FROM T
GROUP BY RN % 10
あなたはオフセット句を意味しています。..ありませんか?
OFFSETは、最初のレコードセットを除外します。 OFFSETはORDER BY句でのみ使用できます。 OFFSET FETCH NEXTは、定義されたレコード・ウィンドウを戻します。 OFFSET FETCH NEXTは、改ページサポートを構築するのに最適です。最初のn個のレコードを除外するために
一般的な構文は次のとおりです。
SELECT column-names
FROM table-name
ORDER BY column-names
OFFSET n ROWS
テーブルには何の固有の順序を持っていないので、あなたが注文したいん何列(複数可)で、http://www.dofactory.com/sql/order-by-offset-fetch
を参照してください? –
最初の10行の後に次の20行を選択したいと思います.SQLに行の増分がありませんか? – DiH
テーブルの最初の10行をどのように決定しましたか? 'SELECT TOP 10 * FROM T' は10の任意の行を返します。たぶん、あなたは次の質問で10点満点になるでしょう。あなたは 'ORDER BY'を必要とします –