每个用户都有一个包含多行的表。每个用户都有相同的行数,但每个用户的行ID都不同,那么我如何获得给定用户的第N行呢?
假设按user_id,row_id子句订购,这样可以保证任何给定用户的订单一致。
这是我在这里工作的sybase 12。
答案 0 :(得分:3)
如果您正在使用Sybase SQL Anywhere(不清楚您是使用SA还是ASE),请查找start at
语句{top
和select
子句。 3}}。例如:
select top 1 start at 7 * from mytable order by user_id, row_id
将检索第7行。
答案 1 :(得分:1)
SYBASE应具有窗口函数
SELECT *
FROM ( select row_number() over (order by user_id, row_id) as row, bar.*
from bar
) foo
WHERE foo.row = 7
答案 2 :(得分:0)
如果您可以将seq_id
列添加到每个user_id从0开始的表。您可以使用此列进行查询。