NHibernate QueryOver、HQL、または Criteria を使用して、n 行ごとに選択するクエリをどのように実装しますか?
現在、次の T-SQL クエリを使用しています。
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row]
FROM [TABLE_NAME]
) x WHERE (x.[Row] % 100) = 0
( Marc Gravellに感謝)
NHibernate QueryOver、HQL、または Criteria を使用して、n 行ごとに選択するクエリをどのように実装しますか?
現在、次の T-SQL クエリを使用しています。
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row]
FROM [TABLE_NAME]
) x WHERE (x.[Row] % 100) = 0
( Marc Gravellに感謝)
クロス結合でインデックステーブルを使用するソリューションを検討しましたか?つまり、各行に1からnまでの整数のインデックス付き列を使用して、必要と思われる数の行を含むテーブルがあるということです。これは、おそらくその横に日付列があるマスターデータベースにある可能性があります-この方法がどれほど有用であるかは驚くべきことです。クエリは次のようになります
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row]
FROM [TABLE_NAME]
) x INNER JOIN [Index_Table] i ON i.Id*100=x.[Row]
L2S と同じ - SQL なしでこれを行う簡単な方法はありません。いずれにせよ、構文は DBMS 固有になります。