一尘不染

从mysql表中选择特定的行

mysql

理想情况下,我需要一个等于

select * from customer where row_number() = 3

但这是非法的。

我不能使用自动递增的字段。

row_number()是需要选择的行。

我该怎么办?

编辑:嗯,我使用iSql * plus进行练习,出于某些原因,使用limit和auto_increment是非法的。我最终创建了一个序列和一个触发器,并且每次输入一个条目时,ID都增加了1。


阅读 607

收藏
2020-05-17

共1个答案

一尘不染

您可以使用LIMIT 2,1代替WHERE row_number() = 3

文档所述
第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数

请记住,它是一个从0开始的索引。因此,如果需要行号 n ,则第一个参数应为 n-1 。第二个参数将始终为 1
,因为您只需要一行。例如,如果您想要表格的行号 56customer

SELECT * FROM customer LIMIT 55,1
2020-05-17