我有一个actions
表,它有不同的条目。每个条目都包含userID
- 执行该操作的用户的ID。
我怎样才能获得用户所做的前3个动作。我知道如何在多个查询或PHP中执行此操作,但我想在单个MySQL查询中执行此操作。这可能吗?
答案 0 :(得分:1)
假设您有一个date
TIMESTAMP列用于存储他们执行操作的时间,请尝试以下操作:
SELECT * FROM `user_actions` WHERE `userID` = X ORDER BY `date` DESC LIMIT 3
LIMIT 3
表示从第一个开始检索最多3个值(检索第一个,第二个和第三个结果)。
参考:http://dev.mysql.com/doc/refman/5.5/en/select.html
享受并祝你好运!
答案 1 :(得分:0)
你可以使用LIMIT <start>, <count>
和MySQL:
SELECT *
FROM user_actions
WHERE userID = <my id>
ORDER BY date DESC
LIMIT 0 , 3
这将返回第3行查询结果(从索引0开始,如指定的那样)
答案 2 :(得分:0)
SELECT *
FROM table_name
WHERE userID='$userid'
SORT BY date_column
LIMIT 3