MySQL допускает обычно неправильное SQL выполнение GROUP BY с неполным списком. Что бы он попытался расширить, если sql_mode=only_full_group_by
не включен?
Скажем, у меня был этот запрос
select
`als_file`.`FileID`,
`als_file`.`Date`,
`als_file`.`Name`,
`als_file`.`Owner`,
`als_file`.`DisplayName`,
`als_file`.`Description`,
`DOWNLOADFILES`.`FilePathName`
from
als_permission
left outer join als_file on
`als_file`.`FileID` = `als_permission`.`File`
left outer join als_file_attribute on
`als_file`.`FileID` = `als_file_attribute`.`file`
left outer join DOWNLOADFILES on
`als_file`.`FileID` = `DOWNLOADFILES`.`Descrip`
where
(`als_file`.`FileType` = ?
and `als_file`.`Folder` = ?
and `DOWNLOADFILES`.`Project` = ?)
group by
`als_permission`.`File`
having
count(`als_permission`.`File`) <= 1
, что эквивалентно SQL этого запроса с полным GROUP BY