Rumah  >  Artikel  >  pangkalan data  >  Bolehkah kumpulan mengikut mempunyai dua syarat?

Bolehkah kumpulan mengikut mempunyai dua syarat?

PHPz
PHPzasal
2024-02-18 14:11:07724semak imbas

group by可以两个条件吗

Tajuk: Contoh penggunaan GROUP BY untuk melaksanakan kumpulan berbilang syarat

Dalam pertanyaan SQL, pernyataan GROUP BY biasanya digunakan untuk mengumpulkan data mengikut lajur tertentu dan melaksanakan operasi pengagregatan pada setiap kumpulan. Walau bagaimanapun, kadangkala kita perlu memenuhi dua syarat pada masa yang sama untuk mengumpulkan, jadi bolehkah kita menggunakan berbilang syarat dalam pernyataan GROUP BY? Seterusnya, kami akan menjawab soalan ini dengan contoh kod konkrit.

Katakan kita mempunyai jadual data bernama "pekerja", yang mengandungi maklumat pekerja, termasuk nama, jabatan dan gaji. Sekarang kita perlu mengumpulkan pekerja mengikut jabatan dan jantina dan mengira purata gaji bagi setiap kumpulan.

Pertama, mari buat jadual data sampel dan masukkan beberapa data:

CREATE TABLE employees (
  name VARCHAR(50),
  department VARCHAR(50),
  gender VARCHAR(10),
  salary DECIMAL(10, 2)
);

INSERT INTO employees VALUES
  ('张三', '销售部', '男', 5000),
  ('李四', '销售部', '男', 5500),
  ('王五', '销售部', '女', 4800),
  ('赵六', '财务部', '女', 6000),
  ('刘七', '财务部', '男', 6500),
  ('陈八', '技术部', '男', 7000),
  ('许九', '技术部', '女', 5500);

Kini, kita boleh menggunakan pernyataan pertanyaan berikut untuk kumpulan mengikut jabatan dan jantina dan mengira purata gaji:

SELECT department, gender, AVG(salary) AS average_salary
FROM employees
GROUP BY department, gender;

KUMPULAN dalam pernyataan pertanyaan di atas BY klausa menggunakan dua bidang: jabatan dan jantina. Ia memberitahu pangkalan data untuk mengumpulkan data dengan gabungan kedua-dua medan ini. Kami kemudian menggunakan fungsi AVG untuk mengira purata gaji bagi setiap kumpulan dan menamakannya "gaji_purata".

Selepas melaksanakan pernyataan pertanyaan di atas, kami akan mendapat keputusan berikut:

部门      性别      平均工资
-------------------------
销售部    男       5250.00
销售部    女       4800.00
财务部    女       6000.00
财务部    男       6500.00
技术部    男       7000.00
技术部    女       5500.00

Seperti yang dapat dilihat daripada keputusan, data pertama kali dikumpulkan mengikut medan "jabatan", dan kemudian dikumpulkan mengikut medan "jantina" dalam setiap jabatan. Dengan cara ini, kami menyedari keperluan untuk menggunakan berbilang syarat untuk pengelompokan.

Untuk meringkaskan, kita boleh menggunakan berbilang syarat dalam pernyataan GROUP BY untuk mengumpulkan. Dengan menggunakan berbilang medan dalam klausa GROUP BY, kami boleh mengumpulkan data mengikut gabungan medan ini dan melaksanakan operasi pengagregatan pada setiap kumpulan. Dalam contoh di atas, kami menunjukkan cara menggunakan GROUP BY untuk mengumpulkan mengikut jabatan dan jantina dan mengira purata gaji.

Saya harap artikel ini akan membantu anda memahami cara menggunakan GROUP BY untuk pengumpulan berbilang keadaan dalam pertanyaan SQL. Jika anda mempunyai sebarang pertanyaan lanjut, sila berasa bebas untuk bertanya.

Atas ialah kandungan terperinci Bolehkah kumpulan mengikut mempunyai dua syarat?. 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