在MySQL中查找行记录数

时间:2014-07-10 19:50:45

标签: mysql

假设我有一个包含一列的表 - 称为'person',其中包含一个名称列表。我想根据他的索引找到一个特定的人。

我尝试使用sql变量来跟踪每个列索引,但问题是 - 如果我有一个包含5个记录的表,那么它将始终输出第5个记录。

SET @row_num = 0; SELECT @row_num := @row_num + 1 as row1 ,person FROM table; 
SELECT row1 from table WHERE person = 'name'

2 个答案:

答案 0 :(得分:1)

我建议更改数据库,为row_id添加第二列。这是一种相当普遍的做法。然后你可以使用

SELECT * from table WHERE row_id = 3;

这将返回第三行。

答案 1 :(得分:0)

另一种最好的方法是通过TEMPORARY TABLE,如下所述

创建临时表

create temporary table temptab(ID INT NOT NULL AUTO_INCREMENT,Person VARCHAR(30))

然后将数据作为

插入临时表
insert into temptab(Person) select Person from mytable

然后从临时表中选择特定的索引人名,如

select Person from temptab where ID = 5