如何在不使用限制的情况下从表中获取第n行位置?
我有一个包含四个字段ID,名称,国家/地区,描述的表格。查询按条件country = 'asia'
返回。记录总数超过百。现在我需要的是,如果我在表格中的第23位有一个名字'test',那我怎么能在不使用限制和自动增量id的情况下得到第23位(auto id没有给出我使用条件的确切位置我的查询)
name
不应包含重复记录。
我只是希望该位置通过另一个查询(用于分页)来检查。
mysql中是否有任何可用的函数来实现这一点而不使用限制?
我通过this得到了一些想法,但我无法通过答案获得我期望的mysql结果。
感谢。
答案 0 :(得分:2)
由于SQL
没有隐式“行位置”的概念,因此您应该通过对列或表达式上的行进行排序来定义行顺序。
这假设您的行位置由字段id
标识(即稍后有id
行的行。)
SELECT (
SELECT COUNT(*)
FROM mytable mi
WHERE country = 'asia'
AND mi.id <= mo.id
)
FROM mytable mo
WHERE country = 'asia'
AND name = 'test'