SELECT DISTINCT und ORDER BY in MySQL

Es scheint, als hätten sie in Version 5.7 von MySQL eine böse Sache hinzugefügt, die ein echtes @ war (oder immer noch istKopfschmerze für diejenigen, die sich mit SQL Server beschäftigen.

Die Sache ist: MySQL wirft einen Fehler, wenn Sie versuchen,SELECT DISTINCT Zeilen für eine Gruppe von Spalten und möchtenORDER BY eine andere Gruppe von Spalten. Bisher war dies in Version 5.6 und sogar in einigen Builds von Version 5.7 möglich, jetzt ist es jedoch verboten (zumindest standardmäßig).

Ich hoffe, es gibt eine Konfiguration, eine Variable, die wir einstellen könnten, damit sie funktioniert. Aber leider kenne ich diese fiese Variable nicht. Ich hoffe jemand weiß das.

BEARBEITE

Dies ist eine typische Abfrage in meinem Fall, die jahrelang buchstäblich funktionierte (bis zum letzten Build von 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

Und in der Tat, wenn ich jetztb.id_order zumSELECT Teil (wie MySQL vorschlägt), dann wird das, was ich bekomme, Müll sein.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage