将两个 SQL 查询合并在一起(语法问题)

Merge two SQL queries together (syntax issue)

我正在使用 PHP 发送此查询,其中 lastConn 是一个 datetime 对象。

$result = $mysqli->query("SELECT id, username, lastConn FROM users LIMIT $startIndex, 50") or die($mysqli->error);

但是我的目标不是获取原始 lastConn 数据,而是获取 lastConnCURRENT_TIMESTAMP 之间的时间差。我写了这个查询来完成这项工作:

SELECT TIMESTAMPDIFF(MINUTE,lastConn,CURRENT_TIMESTAMP) AS 'duration' FROM users;

我现在正在尝试将这两个查询合并在一起以获得第一个查询中的时差,但我似乎找不到正确的语法。

以下是我在使用 PHP:

执行查询后检索数据的方式
while($row = $result->fetch_assoc()){
    echo $row['id'];
    echo $row['username'];
    echo $row['lastConn']; //should echo the time difference instead of the raw lastConn value
}

如何在我的第一个查询中直接获取 lastConn 和 CURRENT_TIMESTAMP 之间的时差,而不必使用第二个查询?

您可以将第二个查询的部分添加到第一个查询中,如下所示。你已经完成了所有工作,只需要最后一步!

$mysqli->query("SELECT id, username, lastConn, TIMESTAMPDIFF(MINUTE,lastConn,CURRENT_TIMESTAMP) AS 'duration' FROM users LIMIT $startIndex, 50") 

希望这对您有所帮助。