Cara menggunakan update count in mysql

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

Cara menggunakan update count in mysql

Saya ingin membuat laporan dengan tampilan seperti ini

Cara menggunakan update count in mysql

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
FROM namatabel
GROUP BY nama_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
FROM namatabel
GROUP BY nama_sales

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,
ROUND((COUNT(nama_sales)/(SELECT COUNT(*) FROM toko))*100,0) AS Prosentase
FROM namatabel
GROUP BY nama_sales

Demikian query yang bisa saya bagikan, anda bisa memodifikasi dengan kalkulasi perhitungan yang lain. Semoga bermanfaat.

Last update on August 19 2022 21:51:22 (UTC/GMT +8 hours)

LAST_DAY() function

MySQL 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:

Cara menggunakan update count in mysql

MySQL Version: 5.6

Video Presentation:

Your browser does not support HTML5 video.

Pictorial Presentation:

Cara menggunakan update count in mysql

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:

SELECT LAST_DAY('2009-05-18');

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:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>example-LAST_DAY-function - php mysql examples | w3resource</title>
<meta name="description" content="example-LAST_DAY-function - php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
><div class="col-md-12">
<h2>Last day of 2009-05-18:</h2>
<table class='table table-bordered'>
<tr>
<th>Last day of 2009-05-18</th>
</tr>
<?php
$hostname="your_hostname";
$username="your_username";
$password="your_password";
$db = "your_dbname";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT LAST_DAY("2009-05-18")') as $row) {
echo "<tr>";
echo "<td>" . $row['LAST_DAY("2009-05-18")'] . "</td>"; 
echo "</tr>";
}
?>
</tbody></table>
</div>
</div>
</div>
</body>
</html>

View the example in browser

JSP script:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>example-last_day-function</title>
</head>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String Host = "jdbc:mysql://localhost:3306/w3resour_bookinfo";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
connection = DriverManager.getConnection(Host, "root", "datasoft123");
statement = connection.createStatement();
String Data = "SELECT LAST_DAY('2009-05-18')";
rs = statement.executeQuery(Data);
%>
<TABLE border="1">
<tr width="10" bgcolor="#9979">
<td>Last day of 2009-05-18</td>
</tr>
<%
while (rs.next()) {
%>
<TR>
<TD><%=rs.getString("LAST_DAY('2009-05-18')")%></TD>
</TR>

<%   }    %>
</table>
<%
rs.close();
statement.close();
connection.close();
} catch (Exception ex) {
out.println("Can’t connect to database.");
}
%>
</body>
</html>

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:

SELECT LAST_DAY('2009-02-18 15:45:53');

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:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>example1-LAST_DAY-function - php mysql examples | w3resource</title>
<meta name="description" content="example1-LAST_DAY-function - php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <h2>Last day of 2009-02-18 15:45:53:</h2> <table class='table table-bordered'> <tr> <th>Last day of 2009-02-18 15:45:53</th> </tr> <?php $hostname="your_hostname"; $username="your_username"; $password="your_password"; $db = "your_dbname"; $dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); foreach($dbh->query('SELECT LAST_DAY("2009-02-18 15:45:53")') as $row) { echo "<tr>"; echo "<td>" . $row['LAST_DAY("2009-02-18 15:45:53")'] . "</td>"; echo "</tr>"; } ?> </tbody></table> </div> </div> </div> </body> </html>

View the example in browser

All Date and Time Functions :

Click here to see the MySQL Date and time functions.

Previous: HOUR()
Next: LOCALTIME()