Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris Pertama dalam Kumpulan PostgreSQL Mengikut Pertanyaan?

Bagaimana untuk Memilih Baris Pertama dalam Kumpulan PostgreSQL Mengikut Pertanyaan?

Barbara Streisand
Lepaskan: 2025-01-25 20:09:15
asal
548 orang telah melayarinya

How to Select the First Row in a PostgreSQL Group By Query?

Pilih baris pertama dalam pertanyaan kumpulan postgresql

Apabila memproses data paket, biasanya kita perlu mengambil garis tertentu, seperti baris pertama atau terakhir dalam setiap kumpulan. Tutorial ini bertujuan untuk menjawab cara memilih baris pertama dalam pertanyaan kumpulan dalam PostgreSQL.

Penyelesaian: berbeza pada

PostgreSQL menyediakan ciri yang mudah, dipanggil pengedaran pada, yang membolehkan yang pertama (atau terakhir) langkah berulang dalam kumpulan. Tatabahasa adalah seperti berikut: <:>

Guna untuk masalah yang diberikan

<code class="language-sql">SELECT DISTINCT ON (DISTINCT_COLUMNS) COLUMNS
FROM TABLE
ORDER BY GROUPING_COLUMN, SORT_ORDER;</code>
Salin selepas log masuk
Dalam contoh yang disediakan, kami berharap dapat mengambil baris pertama setiap pelanggan dalam jadual pembelian berdasarkan nilai jumlah tertinggi. Kita boleh menggunakan berbeza untuk melaksanakan perkara berikut:

pertanyaan ini akan menghasilkan output:

Penjelasan
<code class="language-sql">SELECT DISTINCT ON (customer)
       id, customer, total
FROM   purchases
ORDER  BY customer, total DESC, id;</code>
Salin selepas log masuk

FIRST(id) customer FIRST(total)
1 Joe 5
2 Sally 3
Tentukan bahawa kami berharap untuk mengikuti hasil lajur pelanggan dan pilih nilai yang berbeza.

Pertama ikuti hasil penyortiran pelanggan (untuk pengelompokan), dan kemudian disusun mengikut pesanan total (cari baris pertama dengan nilai total tertinggi), dan akhirnya disusun mengikut ID untuk menyelesaikan konflik (jika ada).

    Keterangan Tambahan
  • DISTINCT ON (customer)
  • Klausa
  • mesti dimasukkan ke dalam klausa ORDER BY customer, total DESC, id, tetapi standard tidak memerlukan lajur ID tambahan.
Jika jumlah lajur boleh mengandungi nilai udara,

harus ditambah ke klausa:

  • Kesimpulan DISTINCT ON ORDER BY
  • Fungsi yang berbeza dalam PostgreSQL menyediakan kaedah yang cekap dan fleksibel untuk memilih baris pertama (atau baris terakhir) dalam pertanyaan kumpulan. Dengan menggunakan fungsi ini, pemaju boleh menganalisis data kumpulan dengan mudah dan mengambil maklumat yang diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Pertama dalam Kumpulan PostgreSQL Mengikut Pertanyaan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan