如何在MySQL中获得人工填充表中两列的最大值

如何在MySQL中获得人工填充表中两列的最大值,mysql,mariadb,Mysql,Mariadb,我有一张桌子,我用它做了一些图表。这是原始的桌子 select * from traffic_user_daily; +-------------------+------------+-------+---------+----------+ | username | cdate | chour | bytesin | bytesout | +-------------------+------------+-------+-----

我有一张桌子,我用它做了一些图表。这是原始的桌子

    select * from traffic_user_daily;
    +-------------------+------------+-------+---------+----------+
    | username          | cdate      | chour | bytesin | bytesout |
    +-------------------+------------+-------+---------+----------+
    | 00:09:df:89:81:f2 | 2016-05-27 | 16    |   16469 |    10321 |
    | 00:09:df:89:81:f2 | 2016-05-27 | 18    |  599161 |   121796 |
    | 00:09:df:89:81:f2 | 2016-05-27 | 19    |   21058 |    11141 |
    | 00:09:df:89:81:f2 | 2016-05-28 | 08    |   20608 |    72061 |
    | 00:09:df:89:81:f2 | 2016-05-28 | 09    |  359375 |   176809 |
我像这样运行sıme查询:

    SELECT CONCAT(cdate,' ',chour,':00:00') AS ctime ,sum(bytesin*0.000002222) as totalKbpsin, sum(bytesout*0.000002222) as totalKbpsout FROM traffic_user_daily group by cdate,chour HAVING ctime >= now() - INTERVAL 1 DAY

    +---------------------+----------------+----------------+
    | ctime               | totalKbpsin    | totalKbpsout   |
    +---------------------+----------------+----------------+
    | 2016-05-31 10:00:00 | 1230.390102018 |  772.301406580 |
    | 2016-05-31 11:00:00 | 2554.907603688 | 1185.870290000 |
    | 2016-05-31 12:00:00 | 2260.437353658 |  295.407289650 |
    | 2016-05-31 13:00:00 | 3031.315984752 |  316.283035200 |
    | 2016-05-31 14:00:00 | 3872.374530486 |  720.599486178 |
但不知道如何获得totalKbpsin和totalKbpsout列的最大值。 你能帮我吗?
关于,

关于您的示例数据,请尝试此;)


使用示例数据,请尝试此;)

我解决了

$query_IO ="SELECT MAX(totalKbpsin),MAX(totalKbpsout) FROM (SELECT CONCAT(cdate,' ',chour,':00:00') AS ctime ,sum(bytesin*0.000002222) as totalKbpsin, sum(bytesout*0.000002222) as totalKbpsout FROM traffic_user_daily group by cdate,chour HAVING ctime >= now() - INTERVAL 1 DAY) a ";
我解决了

$query_IO ="SELECT MAX(totalKbpsin),MAX(totalKbpsout) FROM (SELECT CONCAT(cdate,' ',chour,':00:00') AS ctime ,sum(bytesin*0.000002222) as totalKbpsin, sum(bytesout*0.000002222) as totalKbpsout FROM traffic_user_daily group by cdate,chour HAVING ctime >= now() - INTERVAL 1 DAY) a ";
可以使用best()函数

select GREATEST(MAX(totalKbpsin),MAX(totalKbpsout)) from table_a
可以使用best()函数

select GREATEST(MAX(totalKbpsin),MAX(totalKbpsout)) from table_a
$query_IO=”

解决了我的问题。 感谢您的帮助……

$query\u IO=”

解决了我的问题。
感谢您的帮助……

您的预期结果是什么?| 2016-05-31 11:00:00 | 2554.907603688 | 1185.870290000 |和| 2016-05-31 14:00:00 | 3872.374530486 | 720.599486178 |然后我可以使用PHP获得11851870和3872.374 |您是否可以在每天的ctime(=现在)发布
选择*的结果-请间隔1天
请?请根据情况编辑问题我认为如果将日期和时间存储为单个实体,这会更简单、更快您的预期结果是什么?| 2016-05-31 11:00:00 | 2554.907603688 | 1185.870290000 |和| 2016-05-31 14:00:00 | 3872.374530486 | 720.599486178 |那么我可以在请使用PHP发布
select*from traffic\u user\u daily where ctime>=now()-间隔1天的结果好吗?请据此编辑问题我认为如果将日期和时间存储为单个实体,这将更简单、更快