gpt4 book ai didi

sql - 使用 NHibernate 选择每第 n 行

转载 作者:行者123 更新时间:2023-12-03 00:35:55 26 4
gpt4 key购买 nike

如何使用 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]

关于sql - 使用 NHibernate 选择每第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com