Select specific row from mysql table(从mysql表中选择特定行)
问题描述
理想情况下,我需要一个等价于
Ideally I need a query that is equivalent to
select * from customer where row_number() = 3
但这是非法的.
我不能使用自动递增的字段.
row_number() 是需要选择的行.
row_number() is the row that needs to be selected.
我该怎么做?
嗯,我用 iSql*plus 来练习,使用 limit 和 auto_increment 出于某种原因是非法的.我最终创建了一个序列和一个触发器,并在每次有条目时将 id 增加 1.
Well, I use iSql*plus to practice, and using limit and auto_increment is illegal for some reason. I ended up creating a sequence and a trigger and just upped the id by 1 every time there was an entry.
推荐答案
您可以使用 LIMIT 2,1
而不是 WHERE row_number() = 3
.
You can use LIMIT 2,1
instead of WHERE row_number() = 3
.
正如文档所解释的那样,第一个参数指定了要返回的第一行,第二行指定要返回的最大行数.
请记住,它是一个基于 0 的索引.所以,如果你想要行号 n,第一个参数应该是 n-1.第二个参数总是 1,因为你只需要一行.例如,如果您想要customer
表的行号56:
Keep in mind that it's an 0-based index. So, if you want the line number n, the first argument should be n-1. The second argument will always be 1, because you just want one row. For example, if you want the line number 56 of a table customer
:
SELECT * FROM customer LIMIT 55,1
这篇关于从mysql表中选择特定行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从mysql表中选择特定行


基础教程推荐
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01