Группировка результатов по дате в MySQL - PullRequest
0 голосов
/ 29 июня 2009

Этот оператор SQL

SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')

возвращает один результат, даже если в таблице присутствуют несколько значений с разными датами. Я также пытался использовать DATE_FORMAT. Я что-то делаю глупо?

When - это столбец отметки времени с полной отметкой времени, включая часы, минуты и секунды. Я пытаюсь просто сгруппировать результаты по дню / месяцу / году.

Ответы [ 2 ]

4 голосов
/ 29 июня 2009

Похоже, вы группируете по постоянной строке 'when' вместо поля when.

Используйте это вместо:

GROUP BY DATE(`when`)

Похоже, вы хотите посчитать IP-адреса на определенную дату:

SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics` 
WHERE `vidID` = '1' 
GROUP BY DATE(`when`)
0 голосов
/ 29 июня 2009

Обычно GROUP BY используется вместе с некоторой статистической функцией (например, SUM, скажем) для вычисления результирующего набора по одному или нескольким столбцам. Что вы пытаетесь достичь здесь? Вы хотите отсортировать или просто получить свернутый список того, какие IP-адреса имеют записи и в какие даты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...