MYSQL Запрос не будет общего столбца - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть таблица со столбцами для идентификатора, источника, сессий и даты. Я хочу получить все сеансы за последние 28 дней, сгруппированные по дате, для указанного идентификатора c. Приведенный ниже код работает, но я получаю несгруппированные результаты, где каждый день имеет несколько строк с сессиями для каждого источника.

Фактический результат

3/1 25 3/1 24 3/2 6 3/3 7

Желаемый результат

3/1 49 3/2 6 3/3 7

Я думал, что смена сеансов на Sum (сессий) будет работать, но я продолжаю получать следующую ошибку:

В агрегированном запросе без GROUP BY выражение # 1 списка SELECT содержит неагрегированный столбец 'myDB. traffi c .date '; это несовместимо с sql_mode = only_full_group_by

SELECT date, sessions

FROM traffic

WHERE date > DATE_SUB((SELECT MAX(date) from traffic), INTERVAL 28 DAY)

and id = '206661358'

1 Ответ

1 голос
/ 12 апреля 2020

Вы рядом. Вам нужно «агрегировать» результаты с GROUP BY:

SELECT date, sum(sessions)
FROM traffic
WHERE date > DATE_SUB((SELECT MAX(date) from traffic), INTERVAL 28 DAY)
  AND id = '206661358'
GROUP BY date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...