【问题标题】:Sybase shows rows between 100 and 150Sybase 显示 100 到 150 之间的行
【发布时间】:2017-01-26 20:34:42
【问题描述】:

如何在 Sybase 数据中选择行间,例如:从第 100 行到第 150 行

TOP 50 会给我从 0 到 50,但我想要从 100 到 150。

link 显示用于 Oracle 和 MySQL,但不适用于 sybase。

@@rowcount 会指定计数,还是我错了?

【问题讨论】:

  • 或许可以看看 SQL Server 的TOP 来代替? (相同的源代码来源。)
  • @jarlh 对不起,我不明白,我使用的是 sybase,top 将从 row = 0 开始
  • Select top 50 from Inner select top 150, order by something desc
  • @Veljko89 喜欢这样吗? SELECT TOP 2 * FROM EX_EMPLOYEE E inner join (select top 5 * from EX_EMPLOYEE) T on E.ID = T.ID order by E.ID asc ,它对我不起作用
  • 子选择中也需要 ORDER BY,方向相反。

标签: sql sybase sap-ase


【解决方案1】:

它会变成这样......

    select top 50 * from (
        select top 150 * from dbo.YourTable
    ) src order by ID desc

您想按 desc 顺序选择 150 行,

所以它会去 150, 149 ... 3, 2, 1 ... 从中您将选择前 50 ... 意思是从 150 到 100。

【讨论】:

  • 我收到错误:派生表中不允许使用 ORDER BY 子句。
  • @Moudiz 现在检查一下,我稍微改变了一个查询
  • 我想要按行而不是按 id,这可能吗?
  • 这样想,到那时就改变顺序...如果您选择前 150 名,然后就对其进行描述...这应该可以解决问题
  • 它给出了错误的结果,它应该给出 3,4,它给出了 6,7
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2013-10-23
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
相关资源
最近更新 更多