Mysql 查询字段在第几行

2024-11-13 05:05:07
推荐回答(2个)
回答(1):

mysql本身是没有行号的。要想得到查询语句返回的列中包含一列表示该行记录在整个结果集中的行号可以通过自定义set一个变量,然后每条记录+1的方式,返回这个变量的值。

举例:
表名为:s_ave
表的内容:
Ave Avename
1 d
3 e
4 a
6 b
5 e

我们要查询 ave=6 的行号:
set @mytemp = 0;
select * from (
SELECT (@mytemp:=@mytemp+1) as newid,Ave,Avename FROM s_ave
) AS A
WHERE A.Ave=6

自己试一下吧,这里 mytemp 的值就是行号

转自:http://zhidao.baidu.com/link?url=s7xymIjJkwxR1AwTPwJRrgcZN6NX3A78sC4o0QAbOtNNYIfE94Y0ITUyo2yHU6DgnU0aXrwCyF99CST8qhhbiq

回答(2):

---这里的rownum就是行号。tablename1是你的表名
select * from (
 select
tablename_tmp.*,
@rownum:=@rownum+1 rownum
   from (
select * from tablename1 order by ID
 )
tablename_tmp ,
(select @rownum :=0) a
) a
where a.ID=你想找的id