Завершение неполного GROUP BY в MySQL - PullRequest
1 голос
/ 02 апреля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...