В этом случае как matchid, так и mdate являются разными значениями, так почему же мне все еще нужно ГРУППИРОВАТЬ по обоим столбцам? Какова логика GROUP BY для нескольких столбцов?
1, правильный результат:
2, неправильный результат:
измените его на Min(Mdate), если Mdate всегда один и тот же для всех matchid
Бесчисленные блоги в сети дадут вам подробную информацию об этом, примеры - periscopedata.com/blog/everything-about-group-by / teamsql.io/блог/?p=1028 / blog.jooq.org/2014/12/04/…
Если вы не используете Microsoft SQL Server (и ваше сообщение об ошибке указывает, что это не так), удалите тег «SQL-Server».


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