MYSQL 5 个数据库之间的函数 MAX()

MYSQL function MAX() between 5 databases

我在 PHPMYADMIN 环境中工作。我的目标是从互联网上下载数据,这些数据描述了法官、他们工作的地区、他们制作的文件、决定的数量、他们的薪水以及我上传到我的数据库中的类似内容。我创建了 5 个数据库,每个数据库代表一个特定区域(国家的一部分)。例如,现在我的目标是找到判决次数最多的法官。使用此命令:

SELECT ID_sudca
     , Rozhodnutia
  FROM sudy_sk.informacie
UNION 
SELECT id_sudcu
     , rozhodnutie
  FROM nabozny1.sudca
UNION  
SELECT SUDCA_ID
     , POCET_ROZHODNUTI
  FROM `ke-sud-neznik`.`sudca`
UNION  SELECT `ID_sudca`, `Rozhodnutia` 
  FROM `gerboc`.`sudcovia` 
UNION 
SELECT `ID_SUDCU`, `Rozhodnutia` 
   FROM `biz`.`sudcovia`;` 

我将创建一个查找table,其中所有法官都加载在judge_id(它是一个唯一的数字,象征着每个法官)和决定的数量,也就是说,好像我将所有评委及其编号放入此查找 table 中,用 表示。我现在的目标是找出来自所有地区(5 个数据库)的所有信息,例如我将考虑第一个问题,即决策数量最多/最少的法官。我想使用MAX()函数,但是有必要(至少我是这么认为的)和提到的显示一起使用。但不幸的是我做不到。你不能帮我吗?或者有什么想法?

使用你的第一个显示器,它会显示一些输出,但这个输出不正确。值的顺序并不像你看到的那样正确

    select id_sudca, rozhodnutia from sudy_sk.informacie 
union select id_sudcu, rozhodnutie from nabozny1.sudca 
union select sudca_id, pocet_rozhodnuti from `ke-sud-neznik`.sudca
union select id_sudca, rozhodnutia from gerboc.sudcovia 
union select id_sudcu, rozhodnutia from biz.sudcovia
order by rozhodnutia;

有趣的是,我尝试了相同的视图,只是更改了 table 的名称,以找出 2018 年法官薪水最高的人(按 desc 排序),这正确地向我展示了,但是当我发现听证会的次数不再了,我就开始思考为什么会这样。有什么想法吗?

select id_sudca, plat_2018 from sudy_sk.enrichment_platy union select id_sudcu, prijem_2018 from nabozny1.m_priznania union select id_priznania, prijmy_za_rok_2018 from putrovec.majetkove_priznania order by plat_2018;

我已经知道哪里出错了,这个select联合的条件不满足:

列也必须具有相似的数据类型

你可以 order bylimit:

select id_sudca, rozhodnutia from sudy_sk.informacie 
union select id_sudcu, rozhodnutie from nabozny1.sudca 
union select sudca_id, pocet_rozhodnuti from `ke-sud-neznik`.sudca
union select id_sudca, rozhodnutia from gerboc.sudcovia 
union select id_sudcu, rozhodnutia from biz.sudcovia
order by rozhodnutia desc limit 1

或者,如果相同的id_suca可能出现在不同的表中,使用聚合

select id_sudca, sum(rozhodnutia) 
from (
    select id_sudca, rozhodnutia from sudy_sk.informacie 
    union select id_sudcu, rozhodnutie from nabozny1.sudca 
    union  select sudca_id, pocet_rozhodnuti from ke-sud-neznik.sudca
    union  select id_sudca, rozhodnutia from gerboc.sudcovia 
    union  select id_sudcu, rozhodnutia from biz.sudcovia
) t
group by id_sudca
order by sum(rozhodnutia) desc limit 1