Heim  >  Artikel  >  Datenbank  >  Wie wähle ich die erste Zeile jeder Gruppe in MySQL aus?

Wie wähle ich die erste Zeile jeder Gruppe in MySQL aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 19:54:02466Durchsuche

How to Select the First Row of Each Group in MySQL?

So wählen Sie die erste Zeile für jede Gruppe in MySQL aus

Beim Arbeiten mit Daten in MySQL ist es oft notwendig, nur die erste Zeile jeder Gruppe basierend auf abzurufen spezifische Kriterien. Während Linq-To-Sql eine bequeme Möglichkeit bietet, dies in C# mithilfe der GroupBy- und Select-Methoden zu erreichen, ist der resultierende T-SQL-Code nicht mit MySQL kompatibel.

MySQL bietet eine einfache und effiziente Möglichkeit, die erste auszuwählen Zeile für jede Gruppe mithilfe von Unterauswahlen. So geht das:

  1. Erstellen Sie eine Unterabfrage, um die Primärschlüssel der gewünschten Gruppen abzurufen. Verwenden Sie die GROUP BY-Klausel, um die Zeilen zu gruppieren, und verwenden Sie dann die MIN( ) Aggregationsfunktion zum Abrufen des minimalen Primärschlüsselwerts für jede Gruppe.
SELECT MIN(id) AS group_id
FROM sometable
GROUP BY somecolumn
  1. Verwenden Sie die Unterabfrage als Bedingung in der Hauptabfrage, um die tatsächlichen Daten auszuwählen. Filtern Sie die Zeilen in der Hauptabfrage mithilfe der aus der Unterabfrage erhaltenen Gruppen-IDs.
SELECT somecolumn, anothercolumn 
FROM sometable 
WHERE id IN (
    SELECT group_id
    FROM (
        SELECT MIN(id) AS group_id
        FROM sometable
        GROUP BY somecolumn
    ) AS subquery
);

Diese Abfrage ruft effektiv die erste Zeile für jede Gruppe basierend auf der Somecolumn-Spalte ab und stellt so sicher, dass die Daten korrekt sind organisiert und einfach zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie wähle ich die erste Zeile jeder Gruppe in MySQL aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn