【问题标题】:How to select distinct max value from multiple join table MySQL如何从多个连接表 MySQL 中选择不同的最大值
【发布时间】:2016-05-24 08:28:46
【问题描述】:

这是我当前用于选择数据的查询:

select a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara, c.ID_Rad, d.ID_Lab
FROM tb_registrasi a 
JOIN tb_negara_tujuan b
    ON a.ID_Negara = b.ID_Negara
JOIN tb_radiologi c
    ON a.No_Registrasi = c.No_Registrasi
JOIN tb_laboratorium d
    ON a.No_Registrasi = d.No_Registrasi

结果如下:

我如何区分那些 ID_Rad 和 ID_Lab,我需要每个 ID_Rad 和 ID_Lab 的最大值,所以它会是这样的:

【问题讨论】:

    标签: mysql phpmyadmin


    【解决方案1】:

    使用GROUP BYMAX,试试这个;)

    select a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara, CONCAT('RA-', MAX(substring(c.ID_Rad, 4) + 0)) AS ID_Rad, CONCAT('Lab-',MAX(substring(d.ID_Lab, 5) + 0)) AS Id_Lab
    FROM tb_registrasi a 
    JOIN tb_negara_tujuan b
        ON a.ID_Negara = b.ID_Negara
    JOIN tb_radiologi c
        ON a.No_Registrasi = c.No_Registrasi
    JOIN tb_laboratorium d
        ON a.No_Registrasi = d.No_Registrasi
    GROUP BY a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara
    

    【讨论】:

    • 比如RA-11呢?
    • @sagi 嗯,你对,谢谢你的关注,更新了。
    • 我认为您还需要将数字转换为整数,因为'2' 大于'11'
    • @sagi 是的,完全正确,substring(c.ID_Rad, 4) + 0 这是转换器。
    • 没注意到
    猜你喜欢
    • 1970-01-01
    • 2013-10-20
    • 2019-10-22
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多