Почему я должен использовать группу по 2 столбцам? Почему группировка по 1 столбцу дает мне ошибку?

В этом случае как matchid, так и mdate являются разными значениями, так почему же мне все еще нужно ГРУППИРОВАТЬ по обоим столбцам? Какова логика GROUP BY для нескольких столбцов?

1, правильный результат:

Почему я должен использовать группу по 2 столбцам? Почему группировка по 1 столбцу дает мне ошибку?

2, неправильный результат:

Почему я должен использовать группу по 2 столбцам? Почему группировка по 1 столбцу дает мне ошибку?

Потому что вы агрегируете одни данные, но не другие. Если вы группируете только по 1 из этих 2 столбцов, какое значение должно возвращаться для несгруппированного столбца? Но, конечно, вы пометили это как mysql, так и sql-сервером. mysql позволяет это и называет это функцией... но это логическая ошибка. sql сервер этого не позволяет и выдает ошибку.

Sean Lange 31.01.2019 17:56

измените его на Min(Mdate), если Mdate всегда один и тот же для всех matchid

Cato 31.01.2019 17:59

Бесчисленные блоги в сети дадут вам подробную информацию об этом, примеры - periscopedata.com/blog/everything-about-group-by / teamsql.io/блог/?p=1028 / blog.jooq.org/2014/12/04/…

ChrisCarroll 31.01.2019 18:02

Если вы не используете Microsoft SQL Server (и ваше сообщение об ошибке указывает, что это не так), удалите тег «SQL-Server».

Brian 31.01.2019 18:13
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
4
48
0

Другие вопросы по теме