@Fable2348

Как посчитать количество за час?

В таблице Point необходимо посчитать сколько Mac адресов было зафиксированно за каждый час, какой сделать код запроса для этого?
Есть таблица point, в ней дата(VisitTime) записана в формате TimeStamp, и я не могу понять как в запросе перевести дату в обычный формат и еще посчитать сколько мак адресов(MacValue) было в определенные часы
5df6544522c91518726950.png
Единственный код что у меня получается это
SELECT FROM_UNIXTIME(VisitTime) AS datetime , COUNT(macvalue) 
FROM `point` 
WHERE macvalue >= NOW() - INTERVAL 1 HOUR
GROUP BY hour(macvalue)
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
erge
@erge
Примус починяю
SELECT
    DATE_FORMAT(FROM_UNIXTIME(`VisitTime`), '%Y-%m-%d %H:00:00') AS visit_time,
    COUNT(DISTINCT `MacValue`) AS mac_cnt
  FROM `point`
  GROUP BY 1;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
egor_nullptr
@egor_nullptr
select `VisitTime` div 3600, count(distinct `MacValue`) from `point` group by 1;
Ответ написан
@nozzy
Symfony, Laravel, SQL
WHERE macvalue >= NOW() - INTERVAL 1 HOUR
GROUP BY hour(macvalue)

Ты зачем сравниваешь мас-адрес с датой и еще в сортировке hour и опять мас-адрес?

Попробуй так:
WHERE FROM_UNIXTIME(VisitTime) >= NOW() - INTERVAL 1 HOUR
GROUP BY hour(FROM_UNIXTIME(VisitTime))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы