Pada artikel ini, kami akan membagikan tutorial MySQL cara menggunakan fungsi MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 serta penggunaan fungsi ini bersama dengan dan tanpa fungsi agregat
Isi
Apa arti dari klausa GROUP BY di MySQL?
SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 adalah salah satu klausa MySQL yang paling berguna. Ini mengelompokkan baris dengan nilai yang sama ke dalam baris ringkasan. Klausa mengembalikan satu baris untuk setiap grup. Dalam kueri, MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 terletak setelah klausa SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;6 dan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;7, tetapi sebelum klausa SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;8, SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;9, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 0, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 1, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 2
Pada bagian di bawah ini, kami akan menggunakan data dari tabel Pesanan untuk mengilustrasikan contoh
idproduct_quantityclient_namecitytotal_cost110Letha WahlBaldwin Park1125. 00254Stephan BoudreauMarfa550. 0033Johnston ConyersGeismar125. 00432Chantel SkaggsWaxahachie320. 00514Mollie BoucherDighton25. 00632Mia ChesterfieldMarfa25. 00754Thomas JohnsonDighton125. 00GROUP BY sintaks di MySQL
MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;_3 sering digunakan dengan fungsi agregasi (SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 4, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 5, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 6, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 7, SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 8) untuk mengelompokkan hasil berdasarkan satu atau lebih kolom. Sintaks dasar untuk klausa adalah sebagai berikut
SELECT expression1, expression2, .. expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, .. expression_n;Parameter
- SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 9 – menentukan ekspresi yang disertakan dalam fungsi agregasi, tetapi harus ditambahkan ke SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3
- SELECT orders.city, COUNT(*) FROM employees INNER JOIN orders ON employees.city = orders.city GROUP BY orders.city_1 – mencantumkan tabel tempat Anda ingin mengambil catatan. Setidaknya satu tabel harus ditentukan dalam klausa SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;6
- SELECT orders.city, COUNT(*) FROM employees INNER JOIN orders ON employees.city = orders.city GROUP BY orders.city_3 – menentukan fungsi agregasi
- SELECT orders.city, COUNT(*) FROM employees INNER JOIN orders ON employees.city = orders.city GROUP BY orders.city_4 – parameter opsional untuk menentukan kondisi record yang akan dipilih
Contoh GROUP BY sederhana
Berikut adalah contoh MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;_3 dengan fungsi agregasi COUNT
Dengan menggunakan sintaks di atas, kita akan mengetahui jumlah produk untuk setiap kota
GROUP BY dan klausa HAVING
Anda dapat menambahkan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;8 ke sintaks SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 untuk menemukan baris dengan kondisi tertentu. Klausa SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;8 digunakan sebagai ganti SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;7 dengan fungsi agregat. SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;8 selalu ditempatkan setelah SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3
Pernyataan di bawah mengembalikan id dan total biaya yang kurang dari 500
SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500;GROUP OLEH dengan GABUNG
MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;_3 dapat digabungkan dengan SELECT id, SUM(product_quantity) FROM orders GROUP BY id WITH ROLLUP;3 untuk mengelompokkan baris dengan nilai yang sama dari satu atau beberapa tabel, berdasarkan kolom terkait di antaranya. Ada tiga jenis GABUNG di MySQL, tetapi di bagian ini, kami akan meninjau SELECT id, SUM(product_quantity) FROM orders GROUP BY id WITH ROLLUP;4
Jadi, bayangkan Anda ingin mendapatkan baris dengan nilai yang sama dari tabel Karyawan dan Pesanan berdasarkan pencocokan nilai di antara keduanya. Kemudian Anda dapat menjalankan kueri di bawah ini
SELECT orders.city, COUNT(*) FROM employees INNER JOIN orders ON employees.city = orders.city GROUP BY orders.cityGROUP BY dan pengubah WITH ROLLUP
Menggunakan pengubah SELECT id, SUM(product_quantity) FROM orders GROUP BY id WITH ROLLUP;5 dengan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 memungkinkan termasuk ke baris tambahan hasil ringkasan yang menunjukkan proses ringkasan tingkat yang lebih tinggi (agregat super). Misalnya, jika Anda ingin mengambil jumlah total produk dan mengelompokkannya berdasarkan id, Anda dapat menjalankan kueri berikut
SELECT id, SUM(product_quantity) FROM orders GROUP BY id WITH ROLLUP;Di output, Anda akan melihat jumlah total di baris terakhir
GROUP BY dan ORDER BY
MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 dan SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 1 dapat digunakan bersama untuk mengelompokkan baris dengan nilai yang sama dan mengurutkan hasilnya dalam urutan naik atau turun. SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 1 selalu ditempatkan setelah SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3. Jika Anda tidak menentukan urutan dalam kueri, urutan menaik akan diterapkan
Kueri di bawah mengelompokkan dan mengurutkan klien berdasarkan kota dalam urutan menurun
SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;GROUP BY dengan beberapa kolom
Anda dapat menggunakan MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;_3 untuk mengelompokkan beberapa kolom dari tabel secara bersamaan. Dalam contoh ini, kami akan menunjukkan cara mengelompokkan menurut SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;2 dan SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;3 bidang dan menghitung jumlah baris yang dikelompokkan
SELECT city, product_quantity, COUNT(id) FROM orders GROUP BY product_quantity, city;GROUP BY dengan fungsi SUM
MySQL SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;_4 adalah fungsi agregasi dan sering digunakan dengan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 untuk menghitung jumlah nilai. Pernyataan di bawah mengembalikan total biaya produk sesuai dengan id mereka
SELECT id, SUM(total_cost) FROM orders GROUP BY id;GROUP BY dengan fungsi MAX
MySQL SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;_6 dengan pernyataan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 mengambil nilai maksimum dari ekspresi yang ditentukan. Menggunakan kueri di bawah ini, Anda bisa mendapatkan total biaya produk untuk setiap kota
SELECT city, MAX(total_cost) FROM orders GROUP BY city;GROUP BY dengan fungsi MIN
Fungsi MySQL SELECT city, COUNT(*) FROM orders GROUP BY city ORDER BY COUNT(*) DESC;_8 digunakan dalam kombinasi dengan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 untuk mencari nilai minimum dari ekspresi yang ditentukan. Misalnya, dengan menggunakan pernyataan di bawah ini, Anda dapat memperoleh jumlah produk terendah untuk setiap kota
SELECT city, MIN(product_quantity) FROM orders GROUP BY city;GROUP BY dan klausa DISTINCT
Klausa SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; _0 digunakan sebagai pengganti SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 jika tidak ada fungsi agregat dalam pernyataan SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;9. Misalnya, jika Anda menjalankan kedua kueri, Anda akan mendapatkan hasil yang sama
Perbedaan antara kedua klausa adalah bahwa SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 mengurutkan baris dengan nilai yang sama, sedangkan klausa SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 0 tidak melakukan itu
Cara menggunakan LIMIT dengan GROUP BY di MySQL
Jika Anda perlu menetapkan jumlah baris tertentu yang akan ditampilkan dalam keluaran, Anda dapat menggunakan klausa SELECT id, total_cost FROM orders GROUP BY id HAVING SUM(total_cost) < 500; 2. Dalam kueri di bawah ini, kami ingin menghitung biaya rata-rata dan mendapatkan lima rekaman pertama
SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;2Pengoptimalan MySQL GROUP BY menggunakan alat dbForge
Pengembang basis data harus memproses banyak tugas setiap hari. Biasanya, tugas diperkirakan dan terkadang merupakan tantangan untuk menyelesaikan tugas dalam jangka waktu tertentu. Di situlah alat GUI menjadi yang paling diinginkan dan bermanfaat. Alat GUI yang tepat dapat menghemat waktu dan menjadikan pekerjaan Anda menyenangkan
Jika Anda ingin sedikit usaha, tetapi mendapatkan hasil maksimal, Anda dapat mencoba alat GUI MySQL dari lini produk dbForge. Dibandingkan dengan alat serupa lainnya, yang satu ini memiliki fitur canggih untuk mengembangkan, mengelola, dan mengelola database MySQL dan MariaDB
Anda tidak perlu memiliki pengetahuan kode SQL khusus untuk mulai bekerja dengan alat GUI ini karena sudah termasuk generator kueri MySQL. Dengan generator ini, Anda dapat memilih baris yang akan dikelompokkan, menentukan klausa, dan Anda akan mendapatkan kueri siap pakai
Alat GUI MySQL ini dapat sangat menghemat upaya Anda dengan memformat kueri Anda. Setiap kali Anda mengetik, alat tersebut menyarankan potongan kode MySQL yang dapat Anda gunakan untuk menyelesaikan kueri
Dengan alat GUI dbForge untuk MySQL, Anda dapat benar-benar fokus menulis pernyataan. Sementara pemeriksa sintaks MySQL menemukan kesalahan dalam kueri dan menyorotnya agar Anda dapat segera memperbaikinya. Dengan demikian, Anda tidak perlu membuang waktu untuk mencari salah ketik, itu akan digarisbawahi dengan garis merah berlekuk-lekuk
Selain itu, Anda akan mendapatkan seluruh deskripsi kesalahan untuk memahami apa yang salah
Kesimpulan
Pada artikel ini, kami telah meninjau penggunaan MySQL SELECT city, COUNT(product_quantity) FROM orders GROUP BY city;3 dengan contoh. Seperti yang Anda lihat, pernyataan tersebut dapat digabungkan dengan berbagai klausa. Untuk administrator database, sangat penting untuk mengetahui klausa tersebut dan dapat menggunakannya dengan benar. Di situlah alat GUI MySQL yang hebat yang tidak hanya memfasilitasi pekerjaan administrator database tetapi juga menjadi asisten yang andal dalam pengembangan database dapat sangat membantu. Jika Anda memerlukan alat seperti itu, unduh alat GUI dbForge untuk MySQL untuk uji coba 30 hari gratis dan coba fungsionalitas lanjutannya dalam aksi