Pesanan Tersuai dengan Keutamaan Mata Wang dalam Oracle SQL
Banyak tugas pertanyaan data melibatkan pesanan data berdasarkan kriteria tertentu. Apabila susunan yang dikehendaki menyimpang daripada susunan abjad atau berangka standard, susunan tersuai menjadi perlu. Artikel ini membincangkan senario di mana transaksi perlu dipesan berdasarkan mata wang, dengan keutamaan khusus untuk meletakkan USD di bahagian atas.
Untuk mencapai pesanan tersuai ini, Oracle SQL menyediakan dua pendekatan:
order by case when currency = 'USD' then 1 when currency = 'BHT' then 2 when currency = 'JPY' then 3 when currency = 'MYR' then 4 else 5 end
Ungkapan ini memberikan nilai 1 kepada USD, memastikan ia muncul dahulu, diikuti oleh mata wang lain dalam susunan yang ditentukan.
order by decode(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
Di sini, DECODE menyemak nilai mata wang dan mengembalikan keutamaan berangka yang sepadan.
Nota: Walaupun kaedah ini berfungsi untuk mata wang yang disediakan dalam soalan, kaedah ini mungkin tidak mengisih mata wang lain dengan betul jika ia tidak disertakan secara eksplisit dalam Penyata CASE atau DECODE.
Penyesuaian Tambahan: Jika anda hanya mahu mengutamakan USD, melayan semua mata wang lain secara sama rata, anda boleh menggunakan teknik berikut:
order by case when currency = 'USD' then '001' else currency end
Ungkapan ini memberikan rentetan aksara unik ('001') kepada USD, yang akan muncul dahulu dalam susunan abjad kerana ASCIInya yang lebih rendah nilai.
Dengan menggunakan kaedah ini, anda boleh menyesuaikan susunan data berdasarkan kriteria tertentu, menyediakan penyelesaian yang fleksibel dan berkuasa dalam Oracle SQL.
Atas ialah kandungan terperinci Bagaimana untuk Data Pesanan Tersuai mengikut Mata Wang dengan Keutamaan USD dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!