Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Baris Pertama Setiap Kumpulan dalam SQL?

Bagaimana untuk Memilih Baris Pertama Setiap Kumpulan dalam SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-22 06:05:08717semak imbas

How to Select the First Row of Each Group in SQL?

Pilih baris pertama setiap kumpulan dalam SQL

Dalam pengurusan pangkalan data, selalunya perlu mendapatkan set data khusus untuk analisis atau pelaporan. Ini melibatkan pemilihan baris pertama setiap kumpulan rekod dalam jadual.

Andaikan anda mempunyai dua jadual:

  • SM_Employee (employeeid, roleid, storeid)
  • SM_SalesRepWorkflow (workflowid, salesrepid, quantityassigned, quantity left, month, year)

Soalan:

Tugas anda ialah memilih baris pertama butiran untuk setiap wakil jualan (SalesRepId) dalam jadual SM_SalesRepWorkflow untuk bulan dan tahun semasa.

Penyelesaian:

Untuk ini anda boleh menggunakan fungsi ROW_NUMBER() dalam 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
) AS subquery
WHERE rownumber = 1;</code>

Penjelasan:

  • Pertanyaan luar memberikan setiap rekod nombor baris, sekatan mengikut lajur SalesRepId dan mengisih mengikut aliran kerja dalam tertib menaik.
  • Klausa WHERE menapis hasil untuk memasukkan hanya rekod pertama setiap SalesRepId.

Pertanyaan ini secara berkesan mengenal pasti baris pertama rekod untuk setiap wakil jualan dalam bulan dan tahun yang ditentukan. Ia memberikan output ringkas seperti yang ditunjukkan dalam pernyataan masalah:

  • WF_101 : EMP_101 : 100 : 90 : Mei : 2013
  • WF_101 : EMP_102 : 100 : 100 : Mei : 2013
  • WF_101 : EMP_103 : 100 : 80 : Mei : 2013

Dengan menggunakan fungsi ROW_NUMBER(), anda boleh mendapatkan semula baris pertama data dengan cekap untuk setiap kumpulan dalam jadual untuk analisis atau pelaporan lanjut berdasarkan parameter yang diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Pertama Setiap Kumpulan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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