在 teradata 中按升序分页
pagination in teradata in ascending order
我正在尝试在 teradata 中对 sql 查询进行分页。目前我有如下查询:
SELECT RANK(name) as rank_,id,name,address FROM tbl_users ORDER BY name
QUALIFY rank_ BETWEEN 1 and 5
我想实现对 'name' 列的升序分页,但此查询获取结果集的最后五行。
例如,如果 'name' 列的值类似于 'a'、'b'、'c'、'd'、'e'......'v','w','x','y','z'
我期望值的顺序是 'a'、'b'、'c'、'd'、'e',但我得到的是 'v' ,'w','x','y','z'。
我该如何解决这个问题?
RANK(col)
是一个旧的 Teradata 函数,已弃用超过 15 年。它默认为降序排序,因此 RANK(name ASC)
将 return 预期结果。
但推荐语法使用标准 SQL:
RANK() OVER (ORDER BY name)
我正在尝试在 teradata 中对 sql 查询进行分页。目前我有如下查询:
SELECT RANK(name) as rank_,id,name,address FROM tbl_users ORDER BY name
QUALIFY rank_ BETWEEN 1 and 5
我想实现对 'name' 列的升序分页,但此查询获取结果集的最后五行。 例如,如果 'name' 列的值类似于 'a'、'b'、'c'、'd'、'e'......'v','w','x','y','z'
我期望值的顺序是 'a'、'b'、'c'、'd'、'e',但我得到的是 'v' ,'w','x','y','z'。 我该如何解决这个问题?
RANK(col)
是一个旧的 Teradata 函数,已弃用超过 15 年。它默认为降序排序,因此 RANK(name ASC)
将 return 预期结果。
但推荐语法使用标准 SQL:
RANK() OVER (ORDER BY name)