Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Isih Keputusan Dalam Setiap Bahagian Apabila Menggunakan UNION dalam MySQL?

Bagaimanakah Saya Boleh Isih Keputusan Dalam Setiap Bahagian Apabila Menggunakan UNION dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2025-01-11 11:39:42
asal
447 orang telah melayarinya

How Can I Sort Results Within Each Section When Using UNION in MySQL?

Menguasai Hasil Isih dengan MySQL UNION dan ORDER BY

Menggabungkan data daripada berbilang SELECT pernyataan menggunakan UNION MySQL adalah berkuasa, tetapi mengekalkan pengisihan bahagian individu boleh menjadi rumit. Panduan ini menunjukkan cara mengisih hasil dalam setiap bahagian berdasarkan lajur tertentu (seperti 'id' atau 'add_date') sambil mengekalkan pengumpulan logik pertanyaan UNION anda.

Senario anda melibatkan mendapatkan semula data berdasarkan kriteria berbeza daripada satu jadual, kemudian menyatukan keputusan menggunakan UNION di bawah tajuk yang berbeza. Inilah penyelesaiannya:

Perkenalkan lajur "kedudukan" (lajur pseudo) pada setiap pernyataan SELECT. Nilai berangka ini menentukan susunan paparan dalam setiap bahagian.

<code class="language-sql">SELECT 1 AS Rank, id, add_date FROM Table
UNION ALL
SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ...</code>
Salin selepas log masuk

Seterusnya, rangkumkan pertanyaan gabungan ini dalam subkueri. Pertanyaan utama kemudiannya menggunakan subkueri ini sebagai sumber datanya, mengisih dahulu mengikut lajur 'Kedudukan' dan kemudian mengikut kriteria pengisihan pilihan anda (cth., 'id' atau 'add_date').

<code class="language-sql">SELECT *
FROM (
    SELECT 1 AS Rank, id, add_date FROM Table
    UNION ALL
    SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ...
) AS Subquery
ORDER BY Rank, id; -- Or ORDER BY Rank, add_date;</code>
Salin selepas log masuk

Kaedah ini memastikan pengisihan tepat dalam setiap bahagian yang ditakrifkan oleh operasi UNION anda, menyediakan set hasil yang bersih dan teratur.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Keputusan Dalam Setiap Bahagian Apabila Menggunakan UNION dalam MySQL?. 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