【问题标题】:Any equivalent pseudo columns in Teradata like ROWNUM in OracleTeradata 中的任何等效伪列,例如 Oracle 中的 ROWNUM
【发布时间】:2017-04-02 02:25:26
【问题描述】:

Teradata 中是否有任何 pseducolumn 概念,例如 Oracle 中的 ROWNUM,或者,有没有办法获取表的前 100 行?

谢谢。

【问题讨论】:

    标签: oracle teradata identity-column rownum


    【解决方案1】:

    没有ROWNUM,但你可以使用TOP

    select top 100 * from tab;
    

    【讨论】:

    • 我什至不知道 Teradata 是什么,但我怀疑这样的事情会在任何有意义的意义上返回 first 100 行任何东西。您是否缺少 ORDER BY,可能是 OP 尚未指定的列或表达式(或多个)?
    • @mathguy 结果顺序是不确定的。但是,它们实际上是查询返回的“前”100 条记录。当然,您可以添加订单。但是,dnoeth 的回答并没有错
    • @DavidCram - 也许不是“错误”;我指的是未能提出后续问题。如果有人真的想帮助 OP,那么有人会要求澄清(或者至少在答案中确切地提到我在评论中的内容)。
    • @mathguy:无论有没有ORDER BY,Oracle 的WHERE ROWNUM >= n 都等同于TOP n。如果 OP 需要订单,他可以简单地添加它。
    • @dnoeth - 我在 Google 上进行了快速搜索(所以也许我错过了重点),但在我看来它们并不等同 - 至少在语法上不一样。 top n 可以在具有order by 子句的同一查询中选择。在 Oracle 中,您必须使用子查询来获得相同的结果(如果有要订购的东西)。无论如何,这不是我的意思——我的意思是,如果你想帮助 OP,那就尽可能地帮助他们。
    猜你喜欢
    • 2014-09-14
    • 2015-06-27
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2011-12-19
    • 2015-05-28
    • 1970-01-01
    相关资源
    最近更新 更多