Rumah >pangkalan data >tutorial mysql >Bagaimana Mengutamakan Baris dengan Nilai Khusus dalam Pertanyaan SQL?

Bagaimana Mengutamakan Baris dengan Nilai Khusus dalam Pertanyaan SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-05 05:01:09766semak imbas

How to Prioritize Rows with a Specific Value in SQL Queries?

Kembalikan Baris dengan Nilai Tertentu Dahulu

Anda perlu mengubah suai pertanyaan anda untuk mengutamakan baris berdasarkan nilai lajur tertentu sambil mengekalkan susunan abjad untuk baris yang tinggal.

Untuk mencapai ini:

SQL Server, Oracle, DB2 dan Lain-lain

Gunakan sintaks berikut:

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city

Dalam kod ini:

  • Kenyataan KES mewujudkan keutamaan lajur:

    • Jika bandar bersamaan dengan 'New York', keutamaan ialah 1.
    • Jika tidak, keutamaan ialah 2.
  • PESANAN OLEH mengisih baris:

    • Pertama, berdasarkan keutamaan (baris dengan 'New York' didahulukan).
    • Kemudian, mengikut abjad lajur bandar.

Contoh

Menggunakan jadual yang disediakan, pertanyaan ini:

SELECT *
FROM Users
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city;

akan mengembalikan yang berikut hasil:

 - id - name -  city
 - 3    John    New York
 - 4    Amy     New York
 - 6    Nick    New York
 - 1    George  Seattle
 - 2    Sam     Miami
 - 5    Eric    Chicago

Pertanyaan ini berkesan mengembalikan baris dengan 'New York' dahulu, kemudian abjad baris yang tinggal mengikut bandar.

Atas ialah kandungan terperinci Bagaimana Mengutamakan Baris dengan Nilai Khusus dalam Pertanyaan 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