表结构:
CREATE TABLE Test(
ID PRIMARY KEY AUTO_INCREMENT,
UserID INT,
URL VARCHAR(255),
MyTime DATETIME
)engine=myisam;
样本数据:
ID UserID URL MyTime
1 555 /index 2013-04-01 16:43:21
2 777 /user 2013-03-01 16:43:21
3 555 /user 2013-03-01 13:00:00
4 555 /panel 2013-03-01 16:00:00
5 555 /panel 2013-03-03 15:00:00
现在查询假设选择URL不是/index的所有数据,因为/index是主页,所以我希望它被忽略。此外,它选择的数据必须是忽略/index数据的10条最新记录。如果它落在最后 10 条记录中,它也必须忽略相同的 URL,这意味着如果同一用户多次访问同一页面,我只需要选择其中一个来包含在该限制 10中。这将忽略id 为 4的/panel页面
因此用户555所需的输出将是:
ID UserID URL MyTime
3 555 /user 2013-03-01 13:00:00
5 555 /panel 2013-03-03 15:00:00
我的尝试:
SELECT *
From Test
WHERE URL NOT LIKE '%/index%' AND UserID = '555'
ORDER BY MyTime DESC
LIMIT 10
此查询选择过去10条数据,但它包含重复的URL,我如何摆脱重复的 URL 并仅获取具有唯一 URL 的最新10条记录?
感谢帮助。