Mysql 从另一个数据库获取最近的五次页面访问
我正在写一个查询,应该给我id、姓名和城市,以及最后访问的五个页面。id、名称和城市来自表1,最后访问的五个页面来自表2 我现在得到的是:Mysql 从另一个数据库获取最近的五次页面访问,mysql,sql,subquery,Mysql,Sql,Subquery,我正在写一个查询,应该给我id、姓名和城市,以及最后访问的五个页面。id、名称和城市来自表1,最后访问的五个页面来自表2 我现在得到的是: SELECT id AS `ID`, name AS `Company Name`, city AS `City`, ( SELECT table2.pagePath FROM table2 WHERE table2.visitdate = ( SELECT MAX(table2.vi
SELECT
id AS `ID`,
name AS `Company Name`,
city AS `City`,
(
SELECT table2.pagePath
FROM table2
WHERE table2.visitdate =
(
SELECT MAX(table2.visitdate)
FROM table2
)
)
FROM table1
LEFT JOIN table2
ON table1.id = table2.id
WHERE zip_code = "1111 AB"
GROUP BY table1.id;
正如你可能注意到的,它不起作用
我试图使用子查询来获取最近访问的页面,作为五个页面中的第一个。我得到一个响应,对于所有返回的行都是相同的页面路径
谁能把我推向正确的方向
干杯 我想你想要这样的东西:
select t.*, t2.*
from table1 t1 left join
(select t2.*,
row_number() over (partition by t2.id order by t2.visitdate desc) as seqnum
from table2 t2
) t2
on t2.id = t1.idand t2.seqnum <= 5;
请注意,您的查询似乎具有问题中未描述的逻辑。我关注的是你提出的问题,而不是与问题关系不大的问题