Setelah sekian lama tidak update dikarenakan banyak hal, kali ini saya akan membagikan pengalaman mengenai penggunaan operasi COUNT dan TOTAL COUNT dalam satu tampilan query.Dari beberapa referensi yang saya dapatkan di internet, sangat sedikit yang melibatkan penjumlahan dari hasil COUNT untuk ditampilkan didalam tabel hasil Query, sebagai contoh untuk menghitung proporsi hasil COUNT per-item terhadap TOTAL COUNT. Masih
bingung maksudnya? Kasus yang saya gunakan adalah saya memiliki beberapa data nama sales yang menyetor ke beberapa toko dengan menyetor beberapa jenis buah. Saya ingin mengetahui berapa frekuensi dari masing masing sales dan proporsi masing-masing sales terhadap total sales. Ok langsung saja ini adalah tabel yang sudah saya buat Saya ingin membuat laporan dengan tampilan seperti ini Untuk menampilkan dua kolom pertama, yaitu nama_sales dan frekuensi_sales kita bisa menggunakan perintah COUNT dan dibantu perintah GROUP SELECT nama_sales, COUNT(nama_sales) AS frekuensi_sales Untuk menampilkan kolom ketiga diperoleh dari frekuensi_sales dibagi total frekuensi sales. Artinya kita haruslah menjumlahkan/SUM hasil dari perintah COUNT dengan tetap mempertahankan grouping nama_sales. Blok querynya mirip yang pertama yaitu SELECT nama_sales, COUNT(nama_sales), [query] AS Prosentase Sekarang tinggal menyelesaikan blok [query]-nya. Kita akan menggunakan perintah untuk menghitung semua frekuensi, artinya tidak menggunakan SUM, tetapi kita melakukan pendekatan dengan menghitung total semua frekuensi. Query-nya adalah SELECT COUNT(*) FROM namatabel Query ini akan menghasilkan output 10 Langkah berikutnya untuk rumus menghitung prosentase adalah (frekuensi/total frekuensi)*100. Frekuensi per sales kita ambil dari COUNT(nama_sales) sehingga query-nya menjadi (COUNT(nama_sales) / SELECT COUNT(*) FROM namatabel)*100 Apabila inging hasilnya dibulatkan tanpa angka dibelakang koma, kita bisa menggunakan ROUND( ) sehingga query-nya menjadi ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100, 0) kalo kita menginginkan ada 2 angka setelah koma tinggal diganti saja menjadi ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100, 2) Tahapan terakhir adalah menggabungkan Query terakhir kita dengan Query pertama dengan mengganti blok [query]-nya sehingga menjadi SELECT nama_sales, COUNT(nama_sales) AS frekuensi_sales, Demikian query yang bisa saya bagikan, anda bisa memodifikasi dengan kalkulasi perhitungan yang lain. Semoga bermanfaat. LAST_DAY() functionMySQL LAST_DAY() returns the last day of the corresponding month for a date or datetime value. If the date or datetime value is invalid, the function returns NULL. Syntax: LAST_DAY(date1) Where date1 is a date. Syntax Diagram: MySQL Version: 5.6 Video Presentation: Your browser does not support HTML5 video. Pictorial Presentation: Example: MySQL LAST_DAY() function The following statement will return the last date of the corresponding month of the given date 2009-05-18. Code:
Sample Output: mysql> SELECT LAST_DAY('2009-05-18'); +------------------------+ | LAST_DAY('2009-05-18') | +------------------------+ | 2009-05-31 | +------------------------+ 1 row in set (0.00 sec) PHP script:
View the example in browser JSP script:
Example : LAST_DAY() function with datetime The following statement will return the last date of the corresponding month of the given datetime 2009-02-18 15:45:53. Code:
Sample Output: mysql> SELECT LAST_DAY('2009-02-18 15:45:53'); +---------------------------------+ | LAST_DAY('2009-02-18 15:45:53') | +---------------------------------+ | 2009-02-28 | +---------------------------------+ 1 row in set (0.00 sec) PHP script:
View the example in browser All Date and Time Functions : Click here to see the MySQL Date and time functions. Previous: HOUR() |