Maison >base de données >tutoriel mysql >Comment sélectionner la première ligne de chaque groupe dans SQL à l'aide de ROW_NUMBER() ?
Obtenez la première ligne d'enregistrements pour chaque groupe
En SQL, récupérer le premier enregistrement de chaque groupe unique est une tâche courante. Considérez cette situation, nous avons deux tables, SM_Employee et SM_SalesRepWorkflow. En combinant ces deux tableaux, nous souhaitons sélectionner la première ligne d'informations de SM_SalesRepWorkflow pour chaque commercial pour le mois et l'année en cours, triées par SalesRepId.
Pour y parvenir, nous pouvons profiter des fonctionnalités de la fonction ROW_NUMBER(). Voici une explication détaillée de la requête :
<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>
En utilisant la fonction ROW_NUMBER(), nous pouvons sélectionner efficacement l'enregistrement initial de chaque commercial tout en respectant les conditions spécifiées. Cette technique est utile dans divers scénarios où vous devez regrouper et sélectionner la première ligne de chaque groupe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!