MySQL查询当天数据最大值、最小值

系统中需要查询到昨天数据的最大值和最小值,记录一下

查询当天数据最大值:

SELECT
    `c`.`gid` AS `gid`,
    `c`.`createTime` AS `createTime`,
    `c`.`creator` AS `creator`,
    `c`.`description` AS `description`,
    `c`.`editTime` AS `editTime`,
    `c`.`editor` AS `editor`,
    `c`.`isActive` AS `isActive`,
    `c`.`isDelete` AS `isDelete`,
    `c`.`current` AS `current`,
    `c`.`deviceId` AS `deviceId` 
FROM
    `current_record` `c` 
WHERE
    (
        `c`.`gid` = (
        SELECT
            max( `b`.`current` ) 
        FROM
            `current_record` `b` 
    WHERE
    (( to_days( `b`.`createTime` ) - to_days( now())) = 0 )))

查询当天数据最小值:

SELECT
    `c`.`gid` AS `gid`,
    `c`.`createTime` AS `createTime`,
    `c`.`creator` AS `creator`,
    `c`.`description` AS `description`,
    `c`.`editTime` AS `editTime`,
    `c`.`editor` AS `editor`,
    `c`.`isActive` AS `isActive`,
    `c`.`isDelete` AS `isDelete`,
    `c`.`current` AS `current`,
    `c`.`deviceId` AS `deviceId` 
FROM
    `current_record` `c` 
WHERE
    (
        `c`.`gid` = (
        SELECT
            min( `b`.`current` ) 
        FROM
            `current_record` `b` 
    WHERE
    (( to_days( `b`.`createTime` ) - to_days( now())) = 0 )))

注意:当表里有多个最大值和最小值时,Max()和Min()函数查询结果为空,会导致项目空指针;

解决办法:查询前一天时间最新的最大值数据就可以避免查询结果为空

原文地址:https://www.cnblogs.com/mxh-java/p/14152371.html