我在3个不同的数据库中有3个表;当前,这里的目标是在三个数据库中找到重复的唯一ID,然后找到重复的唯一ID的最低价格。
目前,我正在使用INNER JOIN在两个数据库之间进行查询...谁能建议如何添加第三个数据库?
set @a = (SELECT db1.tb1.var1 from db1.tb1
INNER JOIN db2.tb1 ON db2.tb1.var1 = db1.tb1.var1
UNION );
另外,一旦将
@a
变量设置为重复变量,我想在这里获取一个辅助值。SELECT price
FROM db1.tb1
WHERE asin=@a
UNION ALL
SELECT price
FROM db2.tb1
WHERE asin=@a
UNION ALL
SELECT price
FROM db3.tb1
WHERE asin=@a
但是,我得到的结果将返回多行(显然),我如何仅从中查询MIN()号?
任何帮助表示赞赏。
谢谢,
最佳答案
将您的查询放入一个子查询,然后在主查询中使用MIN()
。
SELECT MIN(price)
FROM (
SELECT price
FROM db1.tb1
WHERE asin=@a
UNION ALL
SELECT price
FROM db2.tb1
WHERE asin=@a
UNION ALL
SELECT price
FROM db3.tb1
WHERE asin=@a) AS x
关于mysql - 查询选择重复项并查找最小值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45990009/