Rumah  >  Artikel  >  pangkalan data  >  GULUNG

GULUNG

Barbara Streisand
Barbara Streisandasal
2024-11-19 18:20:03699semak imbas

GULUNG

Memahami Penggunaan Fungsi GULUNG dalam SQL

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.


Apa itu GULUNG?

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.

Sintaks Asas

SELECT column1, column2, aggregation(column3)
FROM table
GROUP BY GULUNG(column1, column2);

Bagaimana Ia Berfungsi?

  • GULUNG memproses lajur yang dinyatakan dalam klausa GROUP BY dalam susunan hierarki.
  • Ia bermula dengan mengumpulkan semua nilai untuk setiap tahap yang lebih terperinci, kemudian secara beransur-ansur bergerak ke tahap yang kurang terperinci.
  • Akhir sekali, ia menambah baris dengan jumlah besar.

Contoh Praktikal

Mari kita bekerja dengan jadual produk yang dibuat dalam kod di atas, yang mengandungi maklumat tentang produk dan kategorinya.

1. Pertanyaan Biasa

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

2. Pertanyaan dengan GULUNG

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:

Kategori Jumlah pakaian 40.48 makanan 6.97
Category Total
clothing 40.48
food 6.97
Grand Total 47.45
Jumlah Besar 47.45

3. Subjumlah dengan Pelbagai Tahap


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
Penerangan Jumlah Baju-T 10.99 Seluar pendek 8.99 Kasut 20.50 Jumlah kecil - pakaian 40.48 Nasi 1.99 Popcorn 0.99 Stik Filet 3.99 Jumlah kecil - makanan 6.97 Jumlah Besar 47.45 table>

Bila hendak menggunakan GULUNG?

  • Laporan yang memerlukan ringkasan disatukan.
  • Senario di mana anda mahu automasi jumlah pengiraan tanpa perlu menulis pertanyaan tambahan.
  • Data hierarki yang memerlukan analisis pada tahap butiran yang berbeza.

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!

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