Maison >base de données >tutoriel mysql >Comment obtenir le premier workflow pour chaque représentant commercial en SQL ?

Comment obtenir le premier workflow pour chaque représentant commercial en SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-22 06:16:08751parcourir

How to Get the First Workflow for Each Sales Representative in SQL?

Obtenez le premier workflow pour chaque commercial à partir de la base de données SQL

Cet article explore comment récupérer la première ligne de données pour chaque représentant commercial à partir de la table de la base de données, en se concentrant sur la situation où il existe plusieurs flux de travail pour chaque représentant, dans le but d'obtenir le flux de travail initial pour ce mois et cette année. .

Pour cela, nous pouvons utiliser la fonction ROW_NUMBER() comme indiqué ci-dessous :

<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
) AS RankedWorkflows
WHERE rownumber = 1;</code>

Cette requête attribue d'abord un numéro de ligne à chaque enregistrement de flux de travail par ID de représentant commercial. Par la suite, il sélectionne uniquement les enregistrements dont le numéro de ligne est égal à 1.

Exemple d'utilisation

Considérez les données suivantes :

workflowid salesRepId quantityAssigned quantityLeft month year
WF_101 EMP_101 100 90 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 May 2013
WF_102 EMP_101 100 70 May 2013

L'exécution de la requête récupérera les résultats suivants :

workflowid salesRepId quantityAssigned quantityLeft month year
WF_101 EMP_101 100 90 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 May 2013

Ces lignes représentent le premier flux de travail pour chaque représentant au cours du mois et de l'année spécifiés. Notez que l'ordre de workflowid détermine le "premier" workflow. Si vous devez déterminer le premier workflow en fonction d'autres colonnes (telles que la date), vous devez ajuster la clause ORDER BY.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn