这里是我的表结构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