sql查询 如何获取查找某ID的一条记录在表中是第几条记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询 如何获取查找某ID的一条记录在表中是第几条记录相关的知识,希望对你有一定的参考价值。

sql查询 如何获取查找某ID的一条记录在表中是第几条记录
请高手指点一下!先谢了!
我是用ACCESS的
是要查出指定ID的记录是在当前表中的第几条记录!

如果添加字段那如果有删除记录那在表中的第几条记录就变了

可以用row_number函数,如以下数据:

ID    NAME

1       张三

3       李四

5       王五

7       赵六


如查询王五这条数据在数据库里是第几条,可以这样。

select t.rn from
(select *,row_number() over(order by id) rn from 表名) t
where t.name=\'王五\'

结果会显示为3,也就是第三条数据

参考技术A 没学过ACCESS.不过可以指点个思路..就是给这张表中增加一列NID,查某ID的时候顺便查出NID.. 参考技术B 查找一下小于等于ID值的记录数就行了
SELECT COUNT(*) FROM 表 WHERE ID<=ID的值本回答被提问者采纳
参考技术C 如果是Oracle

Select rownum
from <tablename>
where <tablename>.id=<ID 值>

SQL查询用户在表中有一条记录但没有另一条[关闭]

【中文标题】SQL查询用户在表中有一条记录但没有另一条[关闭]【英文标题】:SQL Query User has one record in the table but not another one [closed] 【发布时间】:2013-09-19 13:48:04 【问题描述】:

我有一个包含员工类型代码的表,我正在尝试返回所有没有特定 LeaveType 的用户

示例:

EmployeeNO LeaveType
---------------------    
1111       Personal
1111       Vacation
1111       Sick Bank
2222       Personal
2222       Vacation
3333       Personal
3333       Vacation

所以我想查询所有用户并返回Sick Bank 中的用户列表和不在的用户列表

【问题讨论】:

【参考方案1】:

获得病假银行

SELECT * FROM table1 WHERE leaveType = 'Sick Bank'

获得非病假银行

SELECT * FROM table1 WHERE leaveType <> 'Sick Bank'

【讨论】:

非 Sick Bank 查询将错误地返回用户 1111 两次,即使它有 Sick Bank 行。 我想这张桌子有员工休假的日子,因此,尽管员工去过两次,但应该不止一次返回。 但如果重点是只提取不同的行,他可以使用 SELECT DISTINCT【参考方案2】:

让员工获得特定休假类型是困难的

select employeeNO from table1 where leaveType = 'Sick Bank'

如果员工有多个休假类型,则使用 的查询可能会为员工返回多行,即使他们确实有“病假银行”行。

select employeeNO from table1 
where employeeNo not in (select employeeNO from table1 where leaveType = 'Sick Bank')

【讨论】:

我假设这将是一个相对较大的表,因此使用 where Not in 将是,其中 N 是行数,(N * N) - N 比较。 列出了所有没有病假银行代码的员工。谢谢

以上是关于sql查询 如何获取查找某ID的一条记录在表中是第几条记录的主要内容,如果未能解决你的问题,请参考以下文章

求sql语句,只修改重复数据中的一条记录

SQL查询用户在表中有一条记录但没有另一条[关闭]

thinkphp 怎样获取每个id下的一条记录

在SQL中,如何查询某一字段中最大值的数据

如何用sql语句查询:在一个表中存在而另一个表中不存在的第一条记录?

在mysql中为某一行的某几列插入数据怎么写