如何在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天的结果好吗?请据此编辑问题我认为如果将日期和时间存储为单个实体,这将更简单、更快