2011年11月16日 星期三

SQL 如何取得特定列數內之資料

利用小弟先前發過的文章 DateTable 的 Top n 取得,在此做一個程式上的延伸:

DataTable GetDataTableRange(DataTable dt, int offset, int limit)
{
    DataTable dtn = dt.Clone();
    for (int i = offset; i < offset + limit; i++)
    {
        dtn.ImportRow(dt.Rows[i]);
    }
    return dtn;
}

假設你的資料表為: Products 使用 ID 做為排序,不一定只有一個資料表,可能是關聯多張資料表,皆可通用。

WITH [TempDt] AS
(SELECT *, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum FROM Products)

SELECT * FROM TempDt
WHERE RowNum BETWEEN 11 AND 20

引用:SQL Server 2005 中的Row_Number()函数

回目錄
回首頁


沒有留言 :

張貼留言

Related Posts Plugin for WordPress, Blogger...