【发布时间】:2017-12-12 17:28:14
【问题描述】:
我想知道如何在 MySQL 中以给定的 order by 子句计算给定行的前行数。 并且行可能是随机插入的,所以 auto_increment 是不可靠的。
我的议程 - 列表 编号从到 32 2017-09-26 12:35:00 2017-09-26 13:35:00 33 2017-10-10 12:35:00 2017-10-10 13:35:00 32 2017-10-17 12:35:00 2017-10-17 13:35:00 32 2017-10-24 12:35:00 2017-10-24 13:35:00就像在这种情况下,行按“从”列排序,但显然第 34 行插入在第 36 行之前,但排序后 36 高于 34,如果插入另一行 37,它可能高于或低于任何排,甚至在顶部。那么如何才能在给定的 order by 子句中可靠地计算给定行之上的行数呢?
尝试了子查询方法,但它是 O(n^2) 并且当行数很大时会非常慢。
【问题讨论】:
-
下次请不要发图片,而是发文字。这次我给你改了。