Php MySQL从不同来源选择最新记录
我正在使用一个货币汇率数据库,其中有从多个来源获取的多种货币的汇率 我试图构建一个查询,从每个来源获取每种货币的最后两条记录。 总共有大约60种货币来自10个不同的来源Php MySQL从不同来源选择最新记录,php,mysql,join,subquery,Php,Mysql,Join,Subquery,我正在使用一个货币汇率数据库,其中有从多个来源获取的多种货币的汇率 我试图构建一个查询,从每个来源获取每种货币的最后两条记录。 总共有大约60种货币来自10个不同的来源 SELECT c.id, c.name, c.iso4217, c.flag, r1.buy, r1.sell, r1.amount, r1.time FROM currencies c JOIN rates r1 ON r1.currency = c.id
SELECT c.id, c.name, c.iso4217, c.flag,
r1.buy, r1.sell, r1.amount, r1.time
FROM currencies c
JOIN rates r1 ON r1.currency = c.id
JOIN src s ON s.id = r1.src
WHERE c.status = 10
AND s.status = 10
AND r1.id IN (
SELECT id
FROM
(
SELECT r2.id
FROM
rates r2
WHERE
r2.currency = c.id
AND r2.src = s.id
ORDER BY r2.id
DESC LIMIT 2
)alias
)
此查询不会运行,只会返回
“where子句”中的未知列“c.id”
它确实工作得非常好,如果我手动设置,它会为我提供所需的数据
r2.currency = #
AND r2.src = #
到最内层子查询中的任何ID
如何将c.id和s.id传递给子查询?在
货币中是否有id
列?是的,该表中有一个id列,主要索引。在货币中是否有id
列?是的,该表中有一个id列,主要索引。