Rumah >pangkalan data >tutorial mysql >Bagaimana untuk MENGUMPULKAN DENGAN BETUL OLEH Lajur Beralias (Termasuk Penyata KES) dalam SQL Server?

Bagaimana untuk MENGUMPULKAN DENGAN BETUL OLEH Lajur Beralias (Termasuk Penyata KES) dalam SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-24 10:13:10403semak imbas

How to Correctly GROUP BY Aliased Columns (Including CASE Statements) in SQL Server?

dikhaskan dalam kumpulan dengan operasi dalam operasi SQL Server

Dalam SQL Server, anda mungkin menghadapi cabaran ketika melakukan kumpulan dengan operasi. Artikel ini membincangkan sintaks yang betul pemisahan kumpulan dengan operasi, dan periksa sama ada sintaks juga sesuai untuk klasifikasi pernyataan kes.

Untuk melaksanakan kumpulan dengan operasi pada nama -nama lain, ia mesti dirujuk dalam kumpulan dengan klausa untuk membuat ungkapan yang digunakan untuk membuat alias. Contohnya:

Dalam adegan ini, alias "fullname" dicipta menggunakan ungkapan "lastname ',' firstname". Untuk mengikuti alias ini, ungkapan lengkap mesti ditentukan: "LastName ',' FirstName".

<code class="language-sql">SELECT LastName + ', ' + FirstName AS 'FullName'
FROM customers
GROUP BY LastName + ', ' + FirstName</code>
Di samping itu, tatabahasa yang sama boleh digunakan untuk kes pernyataan kes:

Dalam kes ini, pernyataan kes digunakan untuk menentukan nilai alias "penuh" berdasarkan nilai -nilai lajur "LastName" dan "FirstName". Jika anda ingin mengumpulkan kumpulan ini, anda akan merujuk ungkapan "LastName ',' FirstName" dan "FirstName". Oleh itu, Kumpulan mengikut klausa boleh termasuk:

Walau bagaimanapun, perlu diperhatikan bahawa apabila menggunakan pernyataan kes alias dalam kumpulan dengan operasi, semua ungkapan lajur rujukan mesti muncul dalam kumpulan oleh klausa. Ini memastikan kesahihan dan ketepatan keputusan agregasi.
<code class="language-sql">SELECT
    CASE
        WHEN LastName IS NULL THEN FirstName
        WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
    END AS 'FullName'
FROM customers
GROUP BY
    LastName, FirstName</code>

Atas ialah kandungan terperinci Bagaimana untuk MENGUMPULKAN DENGAN BETUL OLEH Lajur Beralias (Termasuk Penyata KES) dalam SQL Server?. 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