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>
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!