Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari ID dengan Tarikh Maksimum untuk Setiap Kategori dalam PostgreSQL?

Bagaimana untuk Mencari ID dengan Tarikh Maksimum untuk Setiap Kategori dalam PostgreSQL?

Linda Hamilton
Lepaskan: 2024-12-31 03:03:14
asal
193 orang telah melayarinya

How to Find the ID with the Maximum Date for Each Category in PostgreSQL?

Memilih ID dengan Tarikh Maksimum Dikumpulkan Mengikut Kategori dalam PostgreSQL

Untuk menentukan id dengan tarikh maksimum bagi setiap kategori dalam jadual, PostgreSQL menawarkan pendekatan yang sesuai. Mari kita pertimbangkan data sampel:

id category date
1 a 2013-01-01
2 b 2013-01-03
3 c 2013-01-02
4 a 2013-01-02
5 b 2013-01-02
6 c 2013-01-03
7 a 2013-01-03
8 b 2013-01-01
9 c 2013-01-01

Untuk mencapai hasil yang diinginkan, kita boleh menggunakan klausa DISTINCT ON PostgreSQL. Klausa ini membolehkan kami memilih baris unik berdasarkan ungkapan tertentu, mengumpulkan hasil mengikut lajur lain. Dalam kes ini, kami akan mengumpulkan baris mengikut kategori dan memilih id yang berbeza dengan tarikh maksimum dalam setiap kumpulan.

Berikut ialah pertanyaan untuk mencapai ini:

SELECT DISTINCT ON (category)
       id  -- , category, date  -- any other column (expression) from the same row
FROM   tbl
ORDER  BY category, date DESC;
Salin selepas log masuk

Klausa DISTINCT ON memastikan bahawa hanya kejadian pertama bagi setiap nilai kategori berbeza dipilih. Klausa ORDER BY mengisih hasil terlebih dahulu mengikut kategori dalam tertib menaik (tertib abjad) dan kemudian mengikut tarikh dalam tertib menurun. Susunan ini memastikan bahawa baris dengan tarikh terkini untuk setiap kategori muncul dahulu.

Melaksanakan pertanyaan ini akan menghasilkan hasil berikut:

id
7
2
6

ID ini (7, 2, 6) mewakili tarikh maksimum untuk kategori a, b dan c, masing-masing.

Atas ialah kandungan terperinci Bagaimana untuk Mencari ID dengan Tarikh Maksimum untuk Setiap Kategori dalam PostgreSQL?. 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