【问题标题】:Sybase add incrementing counter to a select statementSybase 将递增计数器添加到 select 语句
【发布时间】:2012-02-04 09:20:37
【问题描述】:

似乎有人问过类似的问题,其他数据库产品(尤其是 MS-SQL)存在解决方案,但它们不适用于 sybase,所以我问这个问题。

我有一个简单的选择语句,我想得到一个包含和递增计数器的列以及结果。

例如:

counter  data1  data2
0        aa     AA
1        bb     BB
2        cc     CC

有没有办法在单个语句中执行此操作,而不是将其放入临时表并在其上运行光标?

【问题讨论】:

  • 一共有多少个结果(通常)?
  • 不多,大约 100 个,绝对在一个 int 内 :)

标签: sql sybase counter post-increment


【解决方案1】:

您还需要创建一个临时表,但不需要任何游标,只需这样做:

select counter = identity(10), data1, data2 into #t1 from tablename

select * from #t1
drop table #t1

【讨论】:

  • 很好——这就是我要找的东西!!!现在有什么方法可以指定从哪个数字开始?
  • @VictorParmar:您始终可以在最终的 SELECT 中添加偏移量,即SELECT counter + 10 AS counter, data1, ... FROM #t1
【解决方案2】:

根据您使用的 Sybase 版本,您还可以查看 NUMBER()ROW_NUMBER() 等函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2021-10-04
    • 2018-12-17
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多