mysql - 使用 Where 子句时如何获取 MySQL 中的实际索引行数
问题描述
我正在处理 Users 表,我在该表上添加了这样的 where 子句:
SELECT F_Name, L_Name FROM Users Where HouseCode = 'ABC';
这将返回所有在其 HouseCode 列中具有 ABC 的用户。但我想要表格行中这些用户的实际索引号或实际行号。
示例:那些拥有HouseCode = 'ABC'
行号的用户
10,18,24,77,82
那么如何使用查询来获取这些用户的实际行号或索引呢?
注意:我确实将 id 作为主键,它会自动递增,但有时我必须删除用户。所以不能依赖。
谢谢
编辑:
我明白你想说什么,但让我通过你自己的例子向你解释一下:现在,如果我明天删除 Jason 的第三条记录,那么在实际索引中,ID 为 4 的 Karen 记录实际上将变为第三条,即该记录的真实索引。像这样 :
id | F_Name | L_Name | HousecCode
-------------------------------------------------
1 Mark Dine 123
2 Mary Codd ABC
3 Jason Trex ABC
4 Karen Port 456
5 Jan Hellopei ABC
INDEX_NO | id | F_Name | L_Name | HousecCode
----------------------------------------------------------------------
1 1 Mark Dine 123
2 2 Mary Codd ABC
3 4 Karen Port 456
4 5 Jan Hellopei ABC
因此,当我获取记录时,它应该通过计算它在表中的位置来给我实际的索引。这就是我不能依赖 id 列的原因。
解决方案
只是为了说明这一点,已经说过:
- MySQL 等关系数据库引擎没有行号,就像 Excel 工作表那样。