Я создаю запрос для вывода результатов из базы данных MySQL с помощью PHP, результаты запроса выводятся в документ Excel.
Вот запрос:
$sql = "SELECT node, port, MAX(utiltx), MAX(utilrx), time, hour(time), day(time), month(time) FROM intfstats WHERE node IN('$separated') AND year(time)=$year AND month(time)=$month AND port IN('$portsep') GROUP BY node,port,day(time);";
Я думаю, что запрос работает нормально, но он всегда отображает время как полночь (что является первым в столбце timestamp).
Цель состоит в том, чтобы продукт запроса был максимальным использованием rx и tx днем, а время суток - максимальная пропускная способность.
Я был бы признателен за любую помощь в этом, поскольку я слишком долго занимался этим, не имея достаточного знания MySQL-запросов, чтобы отключить его.
Как вы относитесь к тай-брейкерам, когда у вас есть 2+ записи с таким же максимальным значением в данный день?
SELECT t.node,
t.port,
t.utiltx,
t.utilrx,
t.time,
HOUR(t.time),
DAY(t.time),
MONTH(t.time)
FROM INTFSTATS t
JOIN (SELECT is.node,
is.port,
MAX(is.utiltx) 'mutiltx',
MAX(is.utilrx) 'mutilrx',
DAY(is.time) 'dd',
MONTH(is.time) 'mon',
YEAR(is.time) 'yy'
FROM INTFSTATS is
WHERE is.node = $node
AND is.port = $port
GROUP BY is.node,
is.port,
DAY(is.time),
MONTH(is.time),
YEAR(is.time)) x ON x.node = t.node
AND x.port = t.port
AND x.mutiltx = t.utiltx
AND x.mutilrx = t.utilrx
AND x.dd = DAY(t.time)
AND x.mon = MONTH(t.time)
AND x.yy = YEAR(t.time)
WHERE x.yy = $year
AND x.mon = $mon