Untuk menghitung jumlah baris yang ada di Tabel MySQL, pilih database dan jalankan "SELECT COUNT(*) FROM tablename;"
Buka antarmuka baris perintah mysql dan ikuti langkah-langkah ini
1. Pilih Basis Data
Anda dapat memilih database menggunakan USE database;
2. Permintaan untuk Menghitung jumlah baris yang ada di Tabel MySQL
Kami akan menghitung jumlah baris dalam students tabel dari school database
Ada dua baris dalam tabel. Tanpa mencetak semua data baris, kita bisa mendapatkan jumlah baris dalam tabel menggunakan kata kunci COUNT
Menanyakan tentang total, subtotal, dan total keseluruhan adalah permintaan ad hoc atau reguler yang populer dari departemen penjualan atau akuntansi. Dalam tutorial ini, kita akan melihat cara menghitung nilai ringkasan ini di MySQL dengan menggunakan beberapa teknik berbeda
1. Menghitung Total
Misalkan kita perlu mengetahui jumlah pesanan dan produk yang terjual untuk setiap tanggal di bulan Juni 1997 dan juga jumlah pesanan dan produk yang terjual selama sebulan penuh di bulan Juni 1997. Dengan teknik SQL normal, kita akan menulis 2 kueri dan kemudian menggabungkan hasilnya, lihat di bawah
Kueri ini menggunakan GROUP BY untuk menghitung jumlah pesanan dan produk pada setiap tanggal pesanan
Kumpulan hasil kueri - 21 baris dikembalikan
Kueri berikut menghitung jumlah pesanan dan produk untuk bulan Juni 1997
Kumpulan hasil kueri - 1 baris dikembalikan
Kueri berikut menggunakan UNION untuk menambahkan hasil Kueri 2 ke akhir hasil Kueri 1
Kumpulan hasil kueri - 22 baris dikembalikan
DENGAN pengubah ROLLUP
Di MySQL, ada cara yang lebih baik untuk menyelesaikan perhitungan nilai ringkasan total - gunakan pengubah WITH ROLLUP bersama dengan klausa GROUP BY
Pengubah WITH ROLLUP memungkinkan output ringkasan yang mewakili nilai rangkuman tingkat yang lebih tinggi atau agregat super untuk kolom GROUP BY. Jika ada beberapa kolom dalam klausa GROUP BY, ROLLUP dapat menjawab pertanyaan ringkasan pada beberapa tingkat gabungan di semua baris
Nilai NULL dihasilkan sebagai pengidentifikasi kolom untuk menunjukkan total agregat super
Dalam kueri 4 di bawah, output menampilkan jumlah pesanan yang dikumpulkan untuk setiap tanggal pesanan dan total untuk bulan tersebut dihitung dan ditempatkan di akhir rangkaian hasil. Ini dicapai dengan menambahkan kata kunci WITH ROLLUP setelah GROUP BY dan menghasilkan hasil yang identik dengan permintaan UNION yang ditampilkan di atas (kecuali NULL ditampilkan sebagai label untuk total)
Kumpulan hasil kueri - 22 baris dikembalikan
In the query result above, ROLLUP identifier placed NULL value in the OrderDate column for the month total. To show a more meaningful label, in the query below, we converted the NULL value to the word "Total". Note that comparison operator is NULL-safe comparison operator.
Kumpulan hasil kueri - 22 baris dikembalikan
fungsi GROUPING()
Sejauh ini kita telah melihat baris super-agregat menggunakan nilai NULL sebagai indikator untuk total agregat. Untuk membedakan nilai NULL untuk baris agregat super dari nilai NULL dalam baris berkelompok biasa, MySQL 8. 0 memperkenalkan fungsi GROUPING()
Seperti yang dinyatakan MySQL
Setiap argumen untuk GROUPING() harus berupa ekspresi yang sama persis dengan ekspresi dalam klausa GROUP BY
Untuk setiap ekspresi, GROUPING() menghasilkan 1 jika nilai ekspresi pada baris saat ini adalah NULL yang mewakili nilai agregat super. Jika tidak, GROUPING() menghasilkan 0, yang menunjukkan bahwa nilai ekspresi adalah NULL untuk baris hasil reguler atau bukan NULL
Fungsi GROUPING() dapat digunakan dalam daftar SELECT atau klausa HAVING
Pada query di bawah ini, fungsi GROUPING digunakan untuk mengubah nilai NULL menjadi kata "Total"
Perhatikan bahwa, saat menjalankan kueri berikut, jika server MySQL Anda bukan versi 8. 0 atau lebih tinggi, Anda akan mendapatkan kesalahan ini sebagai gantinya "Kode Kesalahan. 1305 FUNGSI angin utara. Pengelompokan tidak ada"
Kumpulan hasil kueri - 22 baris dikembalikan
2. Menghitung Subtotal dan Grand Total
Kueri di bawah ini memiliki 2 kolom dalam klausa GROUP BY. Dalam hal ini, pengubah WITH ROLLUP menampilkan nilai subtotal untuk setiap tanggal pesanan dan nilai total keseluruhan di akhir untuk semua penjualan di bulan Juni
Hirarki ringkasan ada di klausa GROUP BY. Dalam kueri di sini, setiap tanggal pesanan individual dikelompokkan bersama untuk menghitung Subtotal, dan JUMLAH BESAR dihitung pada akhir bulan penuh
Kumpulan hasil kueri - 98 baris dikembalikan
Di bawah ini adalah kueri yang mirip tetapi perbedaan dengan kueri di atas adalah nilai NULL dikonversi menjadi kata "Subtotal" dan "JUMLAH BESAR"