Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Maksimum Merentasi Berbilang Lajur dalam Pelayan SQL?

Bagaimana untuk Mencari Nilai Maksimum Merentasi Berbilang Lajur dalam Pelayan SQL?

DDD
DDDasal
2025-01-15 10:47:45457semak imbas

How to Find the Maximum Value Across Multiple Columns in SQL Server?

Cari nilai maksimum berbilang nilai dalam SQL Server

Dalam SQL Server, fungsi MAX ialah fungsi agregat yang beroperasi pada satu lajur dan mengembalikan nilai maksimum antara semua baris untuk lajur tersebut. Walau bagaimanapun, kadangkala kita mungkin perlu mencari nilai maksimum dalam berbilang lajur.

Sebagai contoh, pertimbangkan pertanyaan berikut:

<code class="language-sql">SELECT o.OrderId, MAX(o.NegotiatedPrice, o.SuggestedPrice)
FROM Order o</code>

Pertanyaan ini cuba mencari nilai maksimum dua lajur Harga Dirundingkan dan Harga Dicadangkan. Walau bagaimanapun, fungsi MAX tidak menyokong operasi ini.

Untuk mendapatkan hasil yang diingini kita boleh menggunakan subquery seperti yang ditunjukkan dalam kod di bawah:

<code class="language-sql">SELECT o.OrderId,
       (SELECT MAX(Price)
        FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price))
FROM Order o</code>

Subkueri ini mencipta jadual terbitan bernama AllPrices yang mengandungi satu lajur bernama Price. Lajur Harga mengandungi nilai Harga Dirundingkan dan Harga Dicadangkan. Kami kemudian menggunakan fungsi MAX pada jadual terbitan ini untuk mencari nilai maksimum bagi setiap baris.

Kaedah ini ialah cara yang mudah untuk mencari nilai maksimum berbilang lajur dalam SQL Server. Ia juga serba boleh dan boleh digunakan untuk mencari nilai agregat lain seperti minimum, purata atau jumlah.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Maksimum Merentasi Berbilang Lajur dalam Pelayan 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