1)我有一个表雇员(emp_id,emp_name,emp_salary); 我想找到前2名员工的最高工资而不使用限额
2)如何运行查询以便从两个数据库mysql服务器上的数据库中获取记录 这应该在单个mysql查询中完成
提前感谢任何帮助或回复
答案 0 :(得分:1)
单个查询无法同时与两个数据库服务器通信。这是不允许的。但您可以使用FEDERATED表链接两台服务器。这使得“远程”表看起来好像它确实存储在本地。
然而,你仍然不得不使用联合查询,除非这两个表可以以某种方式加入。
SELECT blah,blah,blah
FROM localtable
UNION
SELECT blah,blah,blah
FROM federatedtable
答案 1 :(得分:0)
LIMIT究竟出了什么问题?
select *
from (select *
from db1.employee
order by salary desc limit 2
union
select *
from db2.employee
order by salary desc limit 2
) emp
order by emp.salary desc limit 2
如果bd1和db2中的员工肯定不同,或者您不想删除重复更改为UNION ALL