2012-04-09 3 views
2
SELECT * FROM 
(SELECT distinct ROW_NUMBER() OVER (ORDER BY ProductId desc) AS Ranking, 
ProductId, 
ProductName, 
FROM View_AllArt) 
AS foo 
WHERE Ranking > " + i + " AND Ranking <= (" + (j) + ") 

iおよびjは、いくつかの整数値では有効です。RowNumberを取得するためにDataTableでLINQを作成する

私はこのSQLクエリのようにLINQクエリを書くことができます。ここではView_AllArtdtAccountテーブルになります。 (DataTableにLINQを作成したい)

答えて

0

あなたが結果を返す場合、あなたはこのようにランク付けすることによってリストをフィルタリングすることができます

var table = GetDataTable(); //retrieve the data 

int i = 10; 
int j = 20; 

table = table.AsEnumerable().Where(r => r.Field<int>("Ranking") >= i && r.Field<int>("Ranking") <= j).AsDataView.ToTable(); 

EDIT

あなたがの行インデックスを使用して行番号を返す避けることができるかもしれませんDataTable

table = table.AsEnumerable().Where(r => table.Rows.IndexOf(r) >= i && table.Rows.IndexOf(r) <= j).AsDataView().ToTable(); 
+0

ハイテク@Jamesジョンソン、インスタント返信に感謝していますが、私は 'ROでのDataTableを取得することができますどのように私に言うことができますW_NUMBER() ' –

+0

上記の例のように 'SELECT'文に入れると、結果の中に列として返されます。 –

関連する問題