两列之间的时差-MySQL

时间:2018-07-20 04:52:41

标签: mysql node.js

我需要做2个单独的查询,并需要结果。 一个是我需要2个不同表中2列的值之间的差的地方。

table 1
user id | userroomid | roomid | createdOn
2           22          54       2018-07-13 03:58:33
3           23          55       2018-07-13 04:58:33
4           26          59       2018-08-13 04:58:33


table 2
user id | roomname | roomid | createdTime
2           asd          54       2018-07-13 03:58:33
3          deg         55       2018-07-13 04:58:33
4           bfds          59       2018-08-13 04:58:33

所以,我想要两个表中的createdTime列和createdOn列之间的时差。

并且我已经编写了另一个查询,即将项目插入表中,但是我不确定如何将这两个查询联接起来并使其成为一个查询。

这是第二个查询

 let sqlInsert = mysql.format(`INSERT INTO userroom (roomid,userid) VALUES (?, ? )`,[roomid,userid]);

那么,我该如何完成呢?

1 个答案:

答案 0 :(得分:0)

在这两个表之间进行联接,然后使用TIMEDIFF函数(表示为时间值)和TIME_TO_SEC,它将以秒为单位转换时间

TIMEDIFF`函数的示例

   SELECT TIME_TO_SEC( TIMEDIFF('2009-05-18 15:45:57.005678','2009-05-18 13:40:50.005670'));

它将返回7507秒

根据您的情况

select TIME_TO_SEC( TIMEDIFF(t1.createdOn,t2.createdOn)) as time_diff from table1 t1 
inner join  table2 t2 on  t1.user id=t2.user id