2017-09-21 70 views
0

我正在使用PHP發送此查詢,其中lastConn是一個datetime對象。將兩個SQL查詢合併(語法問題)

$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之間的時間差,而不必使用第二一個?

+1

和你沒有嘗試: $ mysqli->查詢( 「選擇ID,用戶名,lastConn,TIMESTAMPDIFF(MINUTE,lastConn,CURRENT_TIMESTAMP)AS '時間' 由用戶限制$的startIndex,50」) –

+0

*捂臉*我沒我不認爲我可以這樣做,儘管現在看來我看起來非常明顯......我需要刷新我的SQL。你可以發佈你的答案,以便我可以接受它嗎? –

回答

1

您可能只需將第二個查詢的部分添加到第一個查詢中,如下所示。你有這一切工作,只需要最後一步!

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

希望這有助於。