我使用 PHP 发送此查询,其中 lastConn
是 datetime
对象。
$result = $mysqli->query("SELECT id, username, lastConn FROM users LIMIT $startIndex, 50") or die($mysqli->error);
但是,我的目标不是获取原始 lastConn
数据,而是获取 lastConn
和 CURRENT_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")
希望这有帮助。
关于php - 将两个 SQL 查询合并在一起(语法问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46334090/