Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql查询中的行相关变量_Mysql_Sql_Database - Fatal编程技术网

mysql查询中的行相关变量

mysql查询中的行相关变量,mysql,sql,database,Mysql,Sql,Database,我有一个mysql数据库,如下所示。我将它与phpmyadmin一起使用 id time_came time_exit 0 2 3 1 3 5 5 5 1 7 1 10 9 1 8 我想要另一个列作为wait,逻辑如下 foreach(i in time_came){ wait=count(time_came<

我有一个mysql数据库,如下所示。我将它与phpmyadmin一起使用

id time_came time_exit
  0      2         3   
  1      3         5   
  5      5         1   
  7      1         10   
  9      1         8
我想要另一个列作为wait,逻辑如下

foreach(i in time_came){
   wait=count(time_came<i&&i<time_exit)
}
因此,每列也有一个等待值。我可以用php实现这一点。但我需要用mysql来实现这一点。我很困惑,因为我每行都在变化

提前谢谢。

这就是你想要的吗

select t.*,
       (select count(*)
        from table t2
        where t2.time_came between t.time_came and t2.time_came < t.time_exit
       ) as wait
from table t;

我喜欢伪代码。如果你能给我一个答案,那就太好了:谢谢。什么是t2?认为t是现有表吗?它是表别名,是相关子查询所需的。将您的表名放在表所在的位置,如果您没有在问题中指定表名,请使用。太好了。这很有效。我怎样才能学会提出这样的疑问如何使其更新列等待?例如:更新myTable集合'wait'=[放在那里的内容]?
update table t join
       (select t.id,
               (select count(*)
                from table t2
                where t2.time_came between t.time_came and t2.time_came < t.time_exit
               ) as wait
        from table t
       ) as newval
       on t.id = newval.id
    set t.wait = newval.wait