Mysql工作上遇到的小技巧

mysql技巧

在写业务时,时常会遇到这种问题

需要使用聚合函数算sum()或者使用max()但是,由于聚合函数需要将查询到的所有其他不是聚合函数的字段都要group by那么问题来了,有时候业务如果全都group by了会得不到想要的值。。

最近发现解决办法

可以使用嵌套查询

	select
            t1.repair_status as repairStatusName,
            t2.code as deviceNumber,
            t2.deviceType as deviceTypeCode
        from dg_device_check t1,
             (select u1.device_code as code,
                     u1.device_type as deviceType,
                     max(u1.create_time) as createTime
              from dg_device_check u1
                       left join md_device u2 on u1.device_code = u2.code
              where u2.section = #{miningAreaCode}
              group by code,deviceType) t2
        where t1.create_time = t2.createTime;

将先要聚合查询的查出来,然后作为表继续查询。

上一篇:Oracle存在修改,不存在插入记录


下一篇:Springboot---显示图片/字符串/map集合/list集合