Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Aliran Kerja Pertama untuk Setiap Wakil Jualan dalam SQL?

Bagaimana untuk Mendapatkan Aliran Kerja Pertama untuk Setiap Wakil Jualan dalam SQL?

DDD
Lepaskan: 2025-01-22 06:09:12
asal
331 orang telah melayarinya

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

Mendapatkan Aliran Kerja Awal untuk Setiap Wakil Jualan

Pertanyaan SQL ini dengan cekap mendapatkan semula rekod aliran kerja pertama untuk setiap wakil jualan dalam bulan dan tahun semasa. Data diperoleh daripada dua jadual: SM_Employee dan SM_SalesRepWorkflow.

Penyelesaian menggunakan fungsi tetingkap ROW_NUMBER(). Fungsi ini memberikan kedudukan unik kepada setiap baris dalam partition yang ditentukan (dalam kes ini, setiap wakil jualan) berdasarkan pesanan yang ditentukan (di sini, workflowid).

Berikut ialah pertanyaan SQL:

<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
) ranked_workflows
WHERE rownumber = 1;</code>
Salin selepas log masuk

Pertanyaan ini mula-mula memberikan nombor baris pada setiap aliran kerja untuk setiap wakil jualan, dipesan oleh workflowid. Pertanyaan luar kemudian menapis set hasil ini, memilih hanya baris tersebut dengan rownumber = 1, dengan berkesan mengembalikan aliran kerja pertama untuk setiap salesRepId.

Contoh Data dan Keputusan:

Memandangkan sampel data daripada SM_SalesRepWorkflow:

Workflowid SalesRepId QuantityAssigned QuantityLeft Month Year
WF_101 EMP_101 100 90 May 2013
WF_102 EMP_101 100 70 May 2013
WF_101 EMP_102 100 100 May 2013
WF_101 EMP_103 100 80 May 2013

Pertanyaan akan kembali:

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

Ini menggambarkan dengan tepat aliran kerja pertama untuk setiap wakil jualan. Ambil perhatian bahawa pendekatan ini menganggap workflowid menyediakan susunan yang bermakna untuk menentukan aliran kerja "pertama". Jika pesanan berbeza diperlukan, laraskan klausa ORDER BY dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Aliran Kerja Pertama untuk Setiap Wakil Jualan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan