我有一个actions
包含不同条目的表。每个条目都包含一个userID
- 执行该操作的用户的 ID。
我怎样才能只获得用户执行的前 3 个操作。我知道如何在多个查询或使用 PHP 中执行此操作,但我想在单个 MySQL 查询中执行此操作。这可能吗?
假设你有一个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
享受和好运!
您可以将LIMIT <start>, <count>
, 与 MySQL 一起使用:
SELECT *
FROM user_actions
WHERE userID = <my id>
ORDER BY date DESC
LIMIT 0 , 3
这将返回查询结果的前 3 行(从索引 0 开始,如指定)
SELECT *
FROM table_name
WHERE userID='$userid'
SORT BY date_column
LIMIT 3