Bagaimana untuk mengumpulkan dan menjumlahkan dalam mysql
Dalam mysql, anda boleh menggunakan pernyataan SELECT dengan fungsi SUM() dan "GROUP BY" untuk menjumlahkan kumpulan Sintaks ialah "SELECT query field SUM (summation field) AS field FROM table name WHERE condition GROUP. OLEH Mengelompokkan medan satu, mengelompokkan medan dua;".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Cara melakukan jumlah kumpulan dalam mysql
Dalam mysql, anda boleh menggunakan
SELECT 查询字段 SUM(求和字段) AS 字段 FROM 表名 WHERE 条件 GROUP BY 分组字段一,分组字段二;
untuk melaksanakan jumlah kumpulan.
Contohnya seperti berikut:
1) count() mencari bilangan baris dalam lajur tertentu
Ia mudah difahami, dikira (nama lajur) adalah untuk mencari bilangan baris dalam lajur tertentu Bilangan baris dalam lajur Perlu diingat bahawa lajur ini tidak mengira bilangan baris dengan nilai nol. Contoh:
>-- Tanya berapa ramai guru yang ada
>-- Tanya berapa baris yang terdapat dalam jadual guru PILIH KIRAAN(*) DARI guru;
Jika terdapat nilai pendua dalam lajur, kami mengira dan tidak mahu mengira nilai pendua, apa yang patut kita buat? Kita boleh menggunakan berbeza untuk menyelesaikan:
-- 查询成绩表里共有几个学生的成绩 SELECT COUNT(DISTINCT 学号) FROM score;
2) sum() menjumlahkan lajur data
jumlah , yang adalah untuk menjumlahkan nilai lajur tertentu, dan hanya boleh mengira nilai. Contoh:
-- 对所有成绩求和 SELECT SUM(成绩) FROM score;
3) purata() nilai purata dalam lajur
Begitu juga, pengiraan purata Hanya nilai berangka boleh dikira:
-- 对所有成绩求平均值 SELECT AVG(成绩) FROM score;
4) max() mencari nilai maksimum lajur data tertentu, min( ) mencari nilai minimum lajur data tertentu Nilai
-- 获取所有成绩中的最大成绩 SELECT MAX(成绩),MIN(成绩) FROM score;
Pengumpulan
Dalam soalan itu, kami menyebut bahawa kami perlu tahu purata markah setiap subjek, maka kita perlu buat Group.
Dalam SQL, kumpulan mengikut pernyataan boleh mengumpulkan set hasil mengikut satu atau lebih lajur. Contoh:
-- 计算每一科课程的平均成绩 SELECT 课程号,AVG(成绩) FROM score GROUP BY 课程号;
Dalam artikel sebelumnya, kami secara ringkas memperkenalkan tertib pelaksanaan pernyataan SQL: pertama jalankan daripada Jadual mana yang mendapat data, dan kemudian laksanakan penyataan pilih;
Di sini kita mendapatkan data daripada jadual skor dan menggunakan kumpulan demi pernyataan untuk mengumpulkan data mengikut peraturan tertentu; kemudian Kira kiraan() pada hasil terkumpul akhirnya pilih hasil gabungan dan ringkaskan setiap kumpulan hasil pengiraan dalam langkah sebelumnya ke dalam jadual .
Nyatakan syarat untuk syarat pengelompokan
Dalam soalan pertama, adalah perlu untuk "mengira purata markah setiap mata pelajaran dan mendapati bahawa skor purata lebih besar daripada atau sama dengan 80 mata". Dalam dua bahagian di atas, kami mendapat pengiraan Markah purata subjek setiap hari, kini nyatakan syarat untuk skor purata : "lebih daripada atau sama dengan 80 mata" , kami menggunakan mempunyai klausa .
Mempunyai klausa dan klausa mana kedua-duanya memilih data secara bersyarat.
-- 计算平均成绩大于等于80分的课程; SELECT 课程号,AVG(成绩) FROM score GROUP BY 课程号 HAVING AVG(成绩)>=80;
Adakah ini bermakna susunan klausa mempunyai juga berada di hadapan ringkasan hasil pilih? Ya, klausa mempunyai menentukan syarat untuk hasil pengumpulan kumpulan mengikut, seperti memerlukan skor lebih besar daripada atau sama dengan 80. Selepas menapis keputusan, keputusan diringkaskan.
-- 对教师表根据教师姓名排序 SELECT * FROM teacher ORDER BY 教师姓名;
Kami mendapati bahawa nilai null Null berada pada kedudukan pertama, jadi: Lajur yang mengandungi nilai null berada dalam Apabila mengisih, nilai nol akan berada pada permulaan Apabila jumlah data adalah besar dan anda ingin melihat nilai nol, anda boleh menggunakan pengisihan ini.
另外,在补充一个limit语句,从查询结果中取出指定行,比如,我们如果从刚才的查询结果中只取第一行:
-- 计算平均成绩大于等于80分的课程并根据成绩降序排,并获取第一行 SELECT 课程号,AVG(成绩) FROM score GROUP BY 课程号 HAVING AVG(成绩)>=80 ORDER BY AVG(成绩) DESC LIMIT 1;
接下来我们进行一个总结。
用SQL解决业务问题分析思路
简单来说:明确问题,将问题翻译成大白话,逐步进行拆解,并写出分析思路和对应的SQL思路。
1) 明确问题,将问题翻译成大白话:
“计算各科的平均成绩并且得出平均成绩大于等于80分的课程并降序排列”翻译成大白话就是:
“计算每一门课程的平均成绩,然后根据得出的结果,进行大于等于80分的条件查询,对查询结果进行降序排列”。
2) 逐步进行拆解,并写出分析思路和对应的SQL思路:
① 对课程号进行分组,计算每一门课程的平均成绩;
② 对①的结果指定条件“>=80”;
③ 对②的结果进行降序排列;
我们可以把拆解后的思路套用到下方的公式中:
select 查询结果 from 从那张表中查找数据 where 查询条件(运算符、模糊查询) group by 分组(每个) having 对分组结果指定条件 order by 对查询结果排序 limit 从查询结果中取出指定行;
试一下吧:
select 查询结果[课程号,avg(成绩)] from 从那张表中查找数据[成绩表score] where 查询条件(运算符、模糊查询)[No] group by 分组(每个)[课程号] having 对分组结果指定条件[avg(成绩)>=80] order by 对查询结果排序[avg(成绩)desc] limit 从查询结果中取出指定行;[No]
这样子,问题是不是就迎刃而解呢?
推荐学习:mysql视频教程
Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan dan menjumlahkan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Apache menyambung ke pangkalan data memerlukan langkah -langkah berikut: Pasang pemacu pangkalan data. Konfigurasikan fail web.xml untuk membuat kolam sambungan. Buat sumber data JDBC dan tentukan tetapan sambungan. Gunakan API JDBC untuk mengakses pangkalan data dari kod Java, termasuk mendapatkan sambungan, membuat kenyataan, parameter mengikat, melaksanakan pertanyaan atau kemas kini, dan hasil pemprosesan.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Peranan utama MySQL dalam aplikasi web adalah untuk menyimpan dan mengurus data. 1.MYSQL dengan cekap memproses maklumat pengguna, katalog produk, rekod urus niaga dan data lain. 2. Melalui pertanyaan SQL, pemaju boleh mengekstrak maklumat dari pangkalan data untuk menghasilkan kandungan dinamik. 3.MYSQL berfungsi berdasarkan model klien-pelayan untuk memastikan kelajuan pertanyaan yang boleh diterima.

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

Kunci untuk memasang MySQL dengan elegan adalah untuk menambah repositori MySQL rasmi. Langkah -langkah khusus adalah seperti berikut: Muat turun kekunci GPG rasmi MySQL untuk mencegah serangan pancingan data. Tambah fail repositori MySQL: rpm -uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm kemas kini yum repository cache: yum update mysql: yum pemasangan mysql-server mysql Server.
