求一个sql查询语句,一条记录,要显示它在众多记录中,按时间排序后的排名

例如一个acess数据库中,有字段“姓名”“完成时间”等,现在要查询一个姓名为“张三”的人,他在所有记录按“完成时间”排序后的的名次。请问这条查询语句应该怎么写?

第1个回答  2016-06-22
select RowNum
from 
(
select ROW_NUMBER() Over(ORDER BY 完成时间 ) as RowNum, * from 表名
) t
where t.姓名='张三'

本回答被提问者采纳
第2个回答  2016-06-22
那就统计“完成时间”在“张三”的“完成时间”之前的记录个数:
select count([完成时间])
from [数据表]
where [完成时间] < (select [完成时间] from [数据表] where [姓名] = ‘张三')本回答被网友采纳
相似回答