エラーメッセージが表示されました
SQL 構文にエラーがあります。GROUP BY name HAVING COUNT(DISTINCT goodfor_when.name) = 1 の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
エラーが発生するクエリの一部を次に示します
....
WHERE
( `city`.`name` = "London" ) AND
`goodfor_what`.`name` IN ("Beers","Wine","Food")
GROUP BY name
HAVING COUNT(DISTINCT `goodfor_what`.`name`) = 3 AND `goodfor_when`.`name` IN ('Daytime') GROUP BY name
HAVING COUNT(DISTINCT `goodfor_when`.`name`) = 1 ORDER BY `t`.`name`, `t`.`id`;
ただし、行を削除すると機能します
HAVING COUNT(DISTINCT `goodfor_what`.`name`) = 3 AND `goodfor_when`.`name` IN ('Daytime') GROUP BY name