MySQL - Auswahl einer Spalte, die nicht in Group By

Ich versuche zum hinzufügen von Funktionen zu einer vorhandenen Anwendung, und ich kam in eine MySQL-Ansicht, so etwas wie dieses:

SELECT
     AVG(table_name.col1),
     AVG(table_name.col2),
     AVG(table_name.col3),
     table_name.personID,
     table_name.col4
FROM table_name
GROUP BY table_name.personID;

OK also es gibt ein paar Aggregatfunktionen. Sie können wählen, personID, weil Sie die Gruppierung, indem Sie es. Aber es ist auch die Auswahl einer Spalte, die nicht in einer Aggregatfunktion und nicht Teil der GROUP BY-Klausel. Wie ist das möglich??? Ist es einfach, wählen Sie eine zufällige Wert, da die Werte definitiv nicht eindeutig pro Gruppe?

Wo ich herkomme (MSSQL-Server), das ist ein Fehler. Kann mir jemand erklären, dieses Verhalten zu mir und warum ist es erlaubt in MySQL?

InformationsquelleAutor colithium | 2009-06-21

Schreibe einen Kommentar