這裏是我的表結構SQL查詢返回最近的行每用戶
所以我有這些列在我的表:
UserId Location Lastactivity
假設有4個結果爲1的用戶名和每個位置都不同。比方說,
index.php, chat.php, test.php, test1.php
。後來也有時間戳。
讓我們再添加一個用戶ID爲4的位置chat.php
和任何時間。
時間爲timestamp
格式。
我想得到它,以便我的sql查詢顯示來自每個用戶標識的一個結果,但只有最新的一個。所以在2中它會顯示最近添加到表中的行。另外,我不希望它顯示有15分鐘或更多分鐘前的最後活動的結果。
對於這個例子,我只是顯示返回的兩行。
有誰知道我該怎麼辦?
我曾嘗試:
SELECT * FROM session WHERE location='chat.php' GROUP BY userid
返回兩個結果,但我相信,如果有它返回一個隨機的用戶ID多個結果,它也返回具有超過15分鐘lastactivity結果。
我用mysql
------更多信息-------
我要在數據庫中查詢所有行,其中位置= 'chat.php'。我只需要每個用戶標識一行,這取決於哪一個是最近提交的。然後我也不想要超過15分鐘的任何東西。最後,我想計算返回的行數,並將它們放入一個名爲testVar的變量中
請注意幫助。
請發佈一個sql提琴 – Hackerman
這是什麼意思?怎麼樣? – user3474238
首先要獲得一個SQL手冊。爲了限制時間範圍,你將使用'WHERE'子句。然後,您可以使用「GROUP BY」和「MIN」爲任何給定用戶選擇最新的時間戳。最後,知道用戶標識和時間戳,你可以通過表格的「JOIN」來獲得剩餘的信息。 – LSerni