Fungsi GULUNG ialah alat berkuasa dalam SQL yang membolehkan anda menjana subjumlah dan jumlah besar dalam pertanyaan agregat. Ciri ini amat berguna untuk laporan dan analisis, di mana terdapat keperluan untuk mengira nilai yang disatukan pada tahap perincian yang berbeza.
Fungsi GULUNG digunakan bersama dengan klausa GROUP BY untuk mencipta kumpulan hierarki. Ia secara automatik menambah baris tambahan yang mewakili subjumlah (jumlah separa) dan jumlah besar pada akhir pertanyaan.
SELECT column1, column2, aggregation(column3) FROM table GROUP BY GULUNG(column1, column2);
Mari kita bekerja dengan jadual produk yang dibuat dalam kod di atas, yang mengandungi maklumat tentang produk dan kategorinya.
Jika kami hanya menanyakan kumpulan mengikut kategori, kami mendapat hasil berikut:
SELECT product_category, SUM(product_value) AS total FROM products GROUP BY product_category;
Keputusan:
Category | Total |
---|---|
clothing | 40.48 |
food | 6.97 |
Dengan menambahkan fungsi GULUNG, kami memasukkan subjumlah dan jumlah besar:
SELECT CASE WHEN product_category IS NULL THEN 'Grand Total' ELSE product_category END AS category, SUM(product_value) AS total FROM products GROUP BY GULUNG(product_category);
Keputusan:
Category | Total |
---|---|
clothing | 40.48 |
food | 6.97 |
Grand Total | 47.45 |
Kita boleh pergi lebih jauh dan mengira subjumlah pada berbilang peringkat. Contohnya, untuk mengira subjumlah mengikut kategori dan produk:
SELECT CASE WHEN product_category IS NULL AND product_name IS NULL THEN 'Grand Total' WHEN product_name IS NULL THEN 'Subtotal - ' || product_category ELSE product_name END AS description, SUM(product_value) AS total FROM products GROUP BY GULUNG(product_category, product_name);
Keputusan:
Description | Total |
---|---|
T-shirt | 10.99 |
Shorts | 8.99 |
Shoes | 20.50 |
Subtotal - clothing | 40.48 |
Rice | 1.99 |
Popcorn | 0.99 |
Filet Steak | 3.99 |
Subtotal - food | 6.97 |
Grand Total | 47.45 |
Fungsi GULUNG memudahkan penciptaan laporan yang kompleks, mengurangkan keperluan untuk manipulasi manual. Fungsi ini disokong oleh banyak pangkalan data seperti Oracle, SQL Server dan MySQL. Gunakannya untuk menjadikan pertanyaan anda lebih cekap dan laporan anda lebih dinamik! ?
Atas ialah kandungan terperinci GULUNG. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!