По умолчанию MySQL будет возвращать значение первой строки, с которой он сталкивается при выполнении запроса. Как будто используется агрегат по умолчанию arbitrary
.
Это полезно, если у вас длинный список столбцов, в котором вы знаете, что большинство из них повторяются, например:
Login LongName City PhoneNr Time
Dude Mr. Dude the 2nd Jerk Town 12345678 13:01
Dude Mr. Dude the 2nd Jerk Town 12345678 13:05
Dude Mr. Dude the 2nd Jerk Town 12345678 13:12
Здесь вы могли бы group by login
:
select LongName, City, PhoneNr, max(Time) from Logins group by login
Поскольку вы знаете, что Long Name
зависит от Login
, это будет работать, как и ожидалось. Все остальные системы СУБД, о которых я знаю, требуют от вас явного указания group by login, LongName, City, PhoneNr
. Даже в MySQL это считается хорошей практикой.