理想情况下,我需要一个等于
select * from customer where row_number() = 3
但这是非法的。
我不能使用自动递增的字段。
row_number()是需要选择的行。
我该怎么办?
编辑:嗯,我使用iSql * plus进行练习,出于某些原因,使用limit和auto_increment是非法的。我最终创建了一个序列和一个触发器,并且每次输入一个条目时,ID都增加了1。
您可以使用LIMIT 2,1代替WHERE row_number() = 3。
LIMIT 2,1
WHERE row_number() = 3
如文档所述, 第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数 。
请记住,它是一个从0开始的索引。因此,如果需要行号 n ,则第一个参数应为 n-1 。第二个参数将始终为 1 ,因为您只需要一行。例如,如果您想要表格的行号 56customer:
customer
SELECT * FROM customer LIMIT 55,1