Mysql 查询字段在第几行 20

现在有一个表,里面有ID(ID不连贯)、Name、Score,Userid四个字段,请问我想查找某个ID,在整张表的第几行,请问怎么查?还有就是可能数据有很多页,我怎么查... 现在有一个表,里面 有ID(ID 不连贯)、Name、Score,Userid 四个字段,请问我想查找 某个ID,在整张表的第几行,请问怎么查? 还有就是 可能数据有很多页,我怎么查询在第几行,不要第几页。 展开
 我来答
dingdang0702
2013-10-15 · TA获得超过384个赞
知道小有建树答主
回答量:375
采纳率:100%
帮助的人:244万
展开全部
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
追问
[Err] 1064 - You have an error in your SQL syntax; 报这个错误
6rl
2013-10-15 · TA获得超过704个赞
知道小有建树答主
回答量:580
采纳率:66%
帮助的人:375万
展开全部
---这里的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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式