我正在使用php将此查询发送,其中 lastConn
是 datetime
对象。
$result = $mysqli->query("SELECT id, username, lastConn FROM users LIMIT $startIndex, 50") or die($mysqli->error);
但是,我的目标不是获取RAW 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")
希望这会有所帮助。