Этот оператор SQL
SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')
возвращает один результат, даже если в таблице присутствуют несколько разных дат. Я попытался использовать DATE_FORMAT
. Я делаю что-то глупое?
When
- это столбец временной метки с полной меткой времени, включая часы, минуты и секунды. Я пытаюсь просто группировать результаты по дням/месяцам/годам.
Похоже, вы группируете константную строку 'when'
вместо поля when
.
Используйте это вместо:
GROUP BY DATE(`when`)
Похоже, вы хотите подсчитать IP-адреса для заданной даты:
SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics`
WHERE `vidID` = '1'
GROUP BY DATE(`when`)
Обычно GROUP BY используется в сочетании с некоторой совокупной функцией (например, SUM, например) для вычисления набора результатов одним или несколькими столбцами. Что вы пытаетесь сделать здесь? Вы хотите отсортировать или просто получить свернутый список, какие IP-адреса имеют записи по датам?