SELECT DISTINCT e ORDER BY no MySQL

Parece que na versão 5.7 do MySQL, eles adicionaram uma coisa desagradável que era (ou ainda é) uma verdadeirador de cabeça para quem lida com o SQL Server.

O problema é que o MySQL lança um erro quando você tentaSELECT DISTINCT linhas para um conjunto de colunas e desejaORDER BY outro conjunto de colunas. Anteriormente, na versão 5.6 e mesmo em algumas versões da versão 5.7, era possível fazer isso, mas agora é proibido (pelo menos por padrão).

Espero que exista alguma configuração, alguma variável que possamos definir para fazê-la funcionar. Mas, infelizmente, eu não conheço essa variável desagradável. Espero que alguém saiba disso.

EDITAR

Esta é uma consulta típica no meu caso que funcionou literalmente por anos (até a última compilação do MySQL 5.7):

SELECT DISTINCT a.attr_one, a.attr_two, a.attr_three, b.attr_four FROM table_one a
LEFT JOIN table_two b ON b.some_idx = a.idx
ORDER BY b.id_order

E, de fato, se eu incluir agorab.id_order aoSELECT parte (como o MySQL sugere fazer), o que receberei será lixo.

questionAnswers(2)

yourAnswerToTheQuestion