求sql语句 排序后返回第几位

table a

id name
1 tom
2 Jery
3 Jack
4 Mary

select id,name ,返回排序后的位数 from a order by name desc
求返回排序后的
如 Mary 为第一位则返回 1

SQLSERVER 我不清楚 基本没用过,应该是大同小异,记得是有个TOP函数的,不知道能不能满足需求,即时满足不了,你可以把排序的结果丢给程序来处理,在程序输出结果的时候定义一个变量,就可以了

首先 是什么数据库呢?

如果是oracle 可以这样写select rownum ,id,name from (select * from tableName order by cond);
在取rownum 就是你所要的结果了