Arahan kumpulan MySQL digunakan untuk mengumpulkan rekod mengikut lajur atau ungkapan tertentu dan meringkaskan nilai dalam kumpulan yang sama. Perintah kumpulan yang paling biasa ialah GROUP BY, yang membahagikan rekod kepada kumpulan dengan lajur atau ungkapan tertentu dan menggunakan fungsi agregat pada setiap kumpulan untuk meringkaskan dan mengira nilai. MySQL juga menyokong bersarang GROUP BY dan perintah pengelompokan lain seperti ROLLUP, CUBE, dan GROUPING SET untuk operasi pengelompokan yang lebih kompleks.
Arahan kumpulan dalam MySQL
Arahan kumpulan dalam MySQL digunakan terutamanya untuk mengumpulkan rekod dalam hasil pertanyaan mengikut lajur atau ungkapan tertentu, dengan itu meringkaskan dan mengagregatkan nilai dalam kumpulan yang sama. Perintah kumpulan yang paling biasa ialah GROUP BY
. GROUP BY
。
GROUP BY 语法
<code class="sql">SELECT 分组列, 聚合函数(列) FROM 表名 WHERE 条件 GROUP BY 分组列</code>
其中:
分组列
:一个或多个指定分组依据的列或表达式。聚合函数
:用于对相同组内值进行汇总和计算的函数,如 SUM()、COUNT()、AVG()
等。列
:要聚合的列或表达式。用法
GROUP BY
命令将查询结果中的记录划分为多个组,每个组包含具有相同分组列值的所有记录。然后,它对每个组中的值应用聚合函数,生成汇总后的结果。
例如,以下查询使用 GROUP BY
将客户按国家分组,并统计每个国家中的客户数量:
<code class="sql">SELECT country, COUNT(*) AS customer_count FROM customers GROUP BY country;</code>
嵌套 GROUP BY
MySQL 允许使用嵌套 GROUP BY
,以便在多个级别上对数据进行分组。例如,以下查询将客户按国家和城市分组,并统计每个城市中来自每个国家的客户数量:
<code class="sql">SELECT country, city, COUNT(*) AS customer_count FROM customers GROUP BY country, city;</code>
其他分组命令
除了 GROUP BY
之外,MySQL 还提供其他分组命令,包括:
ROLLUP
:用于创建多级组,并汇总各个级别的值。CUBE
:用于创建多维组,并汇总所有可能的维度组合。GROUPING SETS
Fungsi pengagregatan
: Fungsi yang digunakan untuk meringkaskan dan mengira nilai dalam kumpulan yang sama, seperti SUM(), COUNT(), AVG()
, dsb. . 🎜Lajur
: Lajur atau ungkapan yang akan diagregatkan. 🎜🎜🎜🎜Penggunaan🎜🎜🎜 Perintah GROUP BY
membahagikan rekod dalam hasil pertanyaan kepada berbilang kumpulan, dengan setiap kumpulan mengandungi semua rekod dengan nilai lajur kumpulan yang sama. Ia kemudiannya menggunakan fungsi pengagregatan pada nilai dalam setiap kumpulan, menghasilkan hasil agregat. 🎜🎜Sebagai contoh, pertanyaan berikut menggunakan GROUP BY
untuk mengumpulkan pelanggan mengikut negara dan mengira bilangan pelanggan di setiap negara: 🎜rrreee🎜🎜NESSED GROUP BY🎜🎜🎜MySQL membenarkan bersarang GROUP OLEH
untuk mengumpulkan data pada pelbagai peringkat. Sebagai contoh, pertanyaan berikut mengumpulkan pelanggan mengikut negara dan bandar dan mengira bilangan pelanggan dari setiap negara di setiap bandar: 🎜rrreee🎜🎜Arahan pengelompokan lain🎜🎜🎜Selain GROUP BY
, MySQL Other arahan kumpulan juga tersedia, termasuk: 🎜ROLLUP
: Digunakan untuk membuat kumpulan berbilang peringkat dan meringkaskan nilai pada setiap peringkat. 🎜CUBE
: Digunakan untuk membuat kumpulan berbilang dimensi dan meringkaskan semua kemungkinan gabungan dimensi. 🎜SET PENGUMPULAN
: Membenarkan pengumpulan mengikut beberapa set kumpulan. 🎜🎜Atas ialah kandungan terperinci Perintah kumpulan dalam mysql ialah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!