mysql - 如何获取行数(记录 ID 所在的位置)

标签 mysql

这是分期付款表。我想得到第 3 行的 instalments.id 46 位置。

请务必查看订单号。

第一列是结果应返回的值。

     |  id  | order_id |
------------------------
  1  |  23  | OOO12345 |
------------------------
  2  |  45  | OOO12345 |
------------------------
  3  |  46  | OOO12345 |
------------------------
  4  |  61  | OOO12345 |

------------------------
  1  |  62  | OOO12346 |
------------------------
  2  |  63  | OOO12346 |
------------------------
  3  |  64  | OOO12346 |
------------------------

instalments.id = 46  =>  3 
instalments.id = 63  =>  2


SELECT  wr.order_id, i1.previous_rows
        // other fields from other joined tables
FROM writers.work_records wr
LEFT JOIN writers.instalments i ON i.id = wr.instalment_id
LEFT JOIN (
     SELECT COUNT(id) as previous_rows, order_id, id
     FROM instalments
) AS i1 ON i1.order_id = wr.order_id AND i1.id <= wr.instalment_id
WHERE 
    wr.order_id = '00012345'
    conditions

请帮忙。

最佳答案

假设您的 ID 是有序的,您可以选择 ID 小于或等于您想要的 ID 的行数:

SELECT COUNT(id) as previous_rows
FROM installments 
WHERE id <= 46

关于mysql - 如何获取行数(记录 ID 所在的位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30236739/

相关文章:

mysql - 将特定值插入mysql数据库

php - MySQL查询: Invalid parameter number: parameter was not defined

php - mysql "with rollup"查询变成了树结构

mysql - 交换/切换两个 MySQL 数据库

MySQL数据库表创建

mysql - 难以使用 LAG 获取每月进度百分比

mysql - OpenStreetMaps MySQL 数据库。检索 POI 和街道名称

php - 查询以在每个月的每一天旁边显示结果

php - 将一系列值与变量一起使用

php - 如何将 Facebook 上的名字写入 MySQL?