@lemonlimelike

Почему не работает GROUP BY?

Этот запрос почему-то на работает
SELECT
  *
FROM
  us_vd
INNER JOIN
  USER u ON u.user_id = us_vd.user_id
INNER JOIN
  video v ON v.place_of_location = us_vd.video_id
WHERE
  us_vd.user_id = 1
ORDER BY
  us_vd.video_id
GROUP BY
  us_vd.video_id

Кто знает почему? Нужно избежать дублей, DISTINCT не убирает дубли
  • Вопрос задан
  • 1762 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега SQL
Седой и строгий
Среди выбираемых полей должны быть только поля участвующие в группировке и поля подвергающиеся агрегации.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Fantyk
web developer
Ответ написан
Комментировать
@cicatrix
было бы большой ошибкой думать
GROUP BY используется с агегирующими функциями (COUNT, MIN, MAX, SUM и т. д.), у вас нечего агрегировать, у вас простая выборка.
В вашем случае надо пользовать SELECT DISTINCT имя_поля_где_надо_убрать_дубли FROM таблица

Вместо * надо указать через запятую список полей
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы