@galynskyy

Как убрать задвоенности при выводе?

Здравствуйте. У меня есть таблица в которой хранятся записи о включениях и выключениях всех устройств. За день устройство может несколько раз включиться и выключиться. Мне нужно вывести количество устройств которые были выключены за день в течении недели. Таблица имеет следующую структуру:
id, name, ip, type, time, status
Сделал запрос такого вида:
SELECT COUNT(id) AS amount, time, status FROM info WHERE time > DATE_SUB(NOW(), INTERVAL 7 DAY) AND status = :status GROUP BY EXTRACT(DAY FROM time) ORDER BY time

Он выводит количество, но мне нужно учесть один раз устройство за день. Заранее благодарен.
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
EreminD
@EreminD
Кое-что умею
SELECT COUNT(DISTINCT id) ... --подсчет всех уникальных значений. Чтобы убедиться, что все корректно, сначала запросите
SELECT DISTINCT id ... -- с вашим условием
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
для начала вытяните последние (MAX(time)) выключения - а потом уже по ним делайте count
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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