sql 查询每条记录,并增加一个字段,根据查询小于时间节点(timenode)的个数,该如何实现?
QMqueuing表中有个timenode字段,
timenode用来记录司机入队列的时间,所以可以根据
举例:
SELECT count(1) from QMqueuing where timenode< 1591950907300
查询出司机在此1591950907300时间节点入列时,队列中前面还有几位.
上图,我想曾加一个列,用来记录每个司机在队列中前面都还有几位司机.
最后大概显示如下
请问sql语句该如何写?还请指教一下!
回答
首先,没看懂你的问题到底要问什么,建议把建表的sql也放出来。
然后,我连蒙带猜,如果想要第二张截图的结果的话,那么先把你图一中的SQL中,
- 中文字符串全加上引号,
- “序号”前面的整个函数加上括号,
- “当前司机前面还有几位”前面的子查询也加上括号
试一下。
请注意一个细节,前面还有多少位,在有特定排序的情况下和查询结果的 行号
有关
所以逻辑上这样写是可以的
set @idx = 0;select
t.*,
@idx as `此记录前有多少位`,
@idx := @idx+1
from (/* 你的 sql */) as t
以上是 sql 查询每条记录,并增加一个字段,根据查询小于时间节点(timenode)的个数,该如何实现? 的全部内容, 来源链接: utcz.com/a/25229.html