【发布时间】:2013-05-11 17:55:25
【问题描述】:
首先,我尝试用谷歌搜索,但只得到了这样的答案: MySQL - Get row number on select
我需要的是“通过特定 id 获取行位置”。
通过上面链接中的示例,我尝试添加“WHERE CLAUSE”,但是“rank”的结果始终为 1。
所以,如果我的表有自增 id 字段,并且没有按特定顺序(例如,在 id 1 之后是 3,而不是 2,因为 id 2 已从数据库中删除),我如何获得 for示例 ID 4?
有什么办法可以得到,我想要什么?
【问题讨论】:
-
只是想知道,您需要这些信息做什么?
-
我不完全理解这个问题。你想对结果进行排序吗?或者通过他们的 ID 获取某些行?代码示例会有所帮助。
-
SQL中没有行“定位”的概念。
-
@JosiahSouth 不,我不想对结果进行排序。我需要知道表中具有特定 ID 的行的位置。例如,我有 tv_channels 表。在该表中,我有 3 行。每行有 2 个字段:id 和 name。第一行的 ID 为 1,名称为 BBC。第二行的 ID 为 3,名称为 Discovery。第三行的 ID 为 4,名称为 MTV。如何获得频道 Discovert 的第二排位置。这个位置应该是 2 号。
-
正如@EvanMulawski 所说(这就是我感到困惑的原因)SQL 中没有定位的概念。我建议阅读 SQL。无意冒犯。