2

SQLを使用してテーブルから特定の範囲の行を選択できるようにする必要があります。

サーバー側のページングを実行するには、どのTSQLコマンドを使用する必要がありますか?

サーバー側のページングについては考えていませんか?テーブルから最初の10行を選択し、計算を行いたい

cmd.commandText :="select top 10 from table "
ada.fill(dt)
for each(datarow dtr in dt.rows)
{
//calulation
}

次に、次の10行を選択し、テーブルの最後まで同じように繰り返します

4

3 に答える 3

3

Microsoftは、ページングを支援するためにSQL Server 2005にROW_NUMBER()を導入しました...

SELECT * FROM (     
  SELECT          
  ROW_NUMBER() OVER (ORDER BY City) AS row, *  
  FROM Cities  
) AS a WHERE row BETWEEN 1 AND 10

1と10の変数を使用して、次のセットを動的に取得します。

create proc dbo.whatever_select_paging
  @int page
as

SELECT * FROM (     
  SELECT          
  ROW_NUMBER() OVER (ORDER BY City) AS row, *  
  FROM Cities  
) AS a WHERE row BETWEEN ((@page-1) * 10) +1 AND (@page * 10)-1

go
于 2012-05-12T11:29:08.630 に答える
0

これを行うには、ROW_NUMBERを使用する必要があります。ページングでのROW_NUMBERの使用法については、リンクを参照してください。

于 2012-05-12T11:25:36.260 に答える
-1
SELECT TOP 20 FROM MyData
WHERE orderNum <= 61
ORDER BY orderNum DESC

これにより、行61から行80までの20行が取得されます(orderNum値が重複している場合は、20行を超える可能性があります)

于 2012-05-12T14:52:11.780 に答える