Heim >Datenbank >MySQL-Tutorial >Wie wähle ich die erste Zeile jeder Gruppe in SQL mit ROW_NUMBER() aus?
Erhalten Sie die erste Zeile mit Datensätzen für jede Gruppe
In SQL ist das Abrufen des ersten Datensatzes jeder eindeutigen Gruppierung eine häufige Aufgabe. Betrachten Sie diese Situation: Wir haben zwei Tabellen, SM_Employee und SM_SalesRepWorkflow. Durch die Kombination dieser beiden Tabellen möchten wir die erste Informationszeile aus SM_SalesRepWorkflow für jeden Vertriebsmitarbeiter für den aktuellen Monat und das aktuelle Jahr auswählen, sortiert nach SalesRepId.
Um dies zu erreichen, können wir die Funktionalität der Funktion ROW_NUMBER() nutzen. Hier ist eine detaillierte Erklärung der Abfrage:
<code class="language-sql">SELECT * FROM( SELECT workflowid, salesRepId, quantityAssigned, quantityLeft, month, year, ROW_NUMBER() OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber FROM sm_salesRepWorkflow ) WHERE rownumber = 1;</code>
Durch die Verwendung der Funktion ROW_NUMBER() können wir den Anfangsdatensatz für jeden Vertriebsmitarbeiter effizient auswählen und dabei die angegebenen Bedingungen einhalten. Diese Technik ist in verschiedenen Szenarien nützlich, in denen Sie die erste Zeile jeder Gruppe gruppieren und auswählen müssen.
Das obige ist der detaillierte Inhalt vonWie wähle ich die erste Zeile jeder Gruppe in SQL mit ROW_NUMBER() aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!