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表中选择特定行
基础教程推荐
- 在多列上分布任意行 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- oracle区分大小写的原因? 2021-01-01
