如何修改此查询以在 startindex 和 endindex rownum 之间使用 [重复]

Posted

技术标签:

【中文标题】如何修改此查询以在 startindex 和 endindex rownum 之间使用 [重复]【英文标题】:How to modify this query to use between startindex and endindex rownum [duplicate] 【发布时间】:2014-03-23 11:13:19 【问题描述】:

如何修改此查询,以便获得 rownum 10 和 21 之间的结果,例如:

   SELECT DAL_ROWNOTABLE.DAL_ID
     FROM (SELECT ticket.id AS "DAL_ID" 
          FROM ticket_table ticket 
          WHERE (ticket.type = N'I' ) AND 
        (ticket.tenant IS NULL OR
         ticket.tenant IN (SELECT tgm.tenant_id 
                           FROM tenant_group_member tgm
                           WHERE tgm.tenant_group = HEXTORAW('30B0716FEB5F4E4BB82A7B7AA3A1A42C') 
                          ) 
        )
  ORDER BY ticket.id
 ) DAL_ROWNOTABLE 
  WHERE rownum <= 21;

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

rownum 更改为row_number()

SELECT DAL_ROWNOTABLE.DAL_ID
FROM (SELECT ticket.id AS "DAL_ID",row_number() over (order by ticket_id) as seqnum
      FROM ticket_table ticket 
      WHERE (ticket.type = N'I' )AND
            (ticket.tenant IS NULL OR
            ticket.tenant IN(SELECT tgm.tenant_id 
                              FROM tenant_group_member tgm
                              WHERE tgm.tenant_group = HEXTORAW('30B0716FEB5F4E4BB82A7B7AA3A1A42C') 
                             ) 
        )
     ) DAL_ROWNOTABLE 
WHERE seqnum between 10 and 21;

【讨论】:

嗯,我建议在回答这个人的另一个问题时使用 ROW_NUMBER()。 @APC 。 . .我记得,这是一个很好的解决方案。我使用rownum 只是为了简化查询。 哈哈哈戈登再次......谢谢男人会试试这个......我想使用减号 我将不得不检查为什么代码使用 ROWNUM 自己的实现而不是使用 ROW_NUMBER,这在你看来似乎很简单......

以上是关于如何修改此查询以在 startindex 和 endindex rownum 之间使用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

需要哪些组件以及如何传输此查询以在 ODI 中使用?

如何修改我的代码以在 python 上没有此错误?

如何编写此查询以在 Sql Server 中获得更好的性能?删除子字符串行

构建 SQL 查询以在 C# 中的 2 个 DateTimePickers 的值之间进行搜索

如何实现此功能以在 UITextField 中输入 DOB

如何锁定记录数组以在线程中添加和删除元素