sql - 我可以获取一条记录在 SQL 结果表中的位置吗?

标签 sql sql-order-by

如果我做类似的事情

SELECT * FROM mytable ORDER BY mycolumn ASC;

我得到一个特定顺序的结果表。

有没有办法在 SQL 中有效地找出给定 PK,结果表中的哪个位置将包含我的 PK 记录?

最佳答案

您可以计算您正在排序的值比您知道其键值的记录的值低的记录数:

select count(*)
from mytable
where mycolumn < (select mycolumn from mytable where key = 42)

关于sql - 我可以获取一条记录在 SQL 结果表中的位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/907438/

相关文章:

sql - 一次删除多个表

sql - 无法从 SQL Server Management Studio 编辑架构或数据

C++ mysql order by 不是有序的

sql - MySQL:按字段大小/长度排序

sql - IN() 子句中的 PostgreSQL ORDER BY 值

sql - 使用描述创建 Hive 表

sql - 购物车中客户与订单的关系

mysql - 什么时候最好使用逗号分隔值来展平数据以提高搜索查询性能?

MYSQL 从每个类别中选择一个随机记录

mysql - SQL 将 varchar 排序为小数