gpt4 book ai didi

sql - 如何在不使用限制的情况下从表中获取第 n 行位置?

转载 作者:行者123 更新时间:2023-11-29 07:15:32 26 4
gpt4 key购买 nike

如何在不使用 limit 的情况下从表中获取第 n 行位置?

我有一个包含四个字段 id、name、country、description 的表。查询按条件 country = 'asia' 返回。记录总数达百余条。现在我需要的是,如果我在表中的第 23 个位置有一个名称“测试”,那么我如何在不使用限制和自动增量 ID 的情况下获得第 23 个位置(自动 ID 没有给出我使用条件的确切位置我的查询)

name 不应包含重复记录。

我只想通过另一个查询(用于分页)来检查位置。

mysql 中是否有任何函数可以在不使用限制的情况下实现这一点?

我通过this有了一些想法|但我无法通过答案获得预期的 mysql 结果。

谢谢。

最佳答案

由于 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'

关于sql - 如何在不使用限制的情况下从表中获取第 n 行位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1472011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com