sql 查询每条记录,并增加一个字段,根据查询小于时间节点(timenode)的个数,该如何实现?

QMqueuing表中有个timenode字段,
timenode用来记录司机入队列的时间,所以可以根据
举例:
SELECT count(1) from QMqueuing where timenode< 1591950907300
查询出司机在此1591950907300时间节点入列时,队列中前面还有几位.

上图,我想曾加一个列,用来记录每个司机在队列中前面都还有几位司机.
最后大概显示如下

请问sql语句该如何写?还请指教一下!

回答

首先,没看懂你的问题到底要问什么,建议把建表的sql也放出来。
然后,我连蒙带猜,如果想要第二张截图的结果的话,那么先把你图一中的SQL中,

  1. 中文字符串全加上引号,
  2. “序号”前面的整个函数加上括号,
  3. “当前司机前面还有几位”前面的子查询也加上括号

试一下。

请注意一个细节,前面还有多少位,在有特定排序的情况下和查询结果的 行号 有关

所以逻辑上这样写是可以的

set @idx = 0;

select

t.*,

@idx as `此记录前有多少位`,

@idx := @idx+1

from (/* 你的 sql */) as t

以上是 sql 查询每条记录,并增加一个字段,根据查询小于时间节点(timenode)的个数,该如何实现? 的全部内容, 来源链接: utcz.com/a/25229.html

回到顶部