Mendapatkan total dan total sebelumnya

jasa web design surabaya - total dan total sebelumnya - mysql query

tutorial mysql untuk mendapatkan nilai total dan total sebelumnya dari mysql query



Mendapatkan total dan total sebelumnya

Sebagai penyedia Jasa Web Design Surabaya, kami terkadang menemukan permintaan customer untuk menampilkan total penjualan hari ini dan tanggal sebelumnya untuk menghitung prosentase kenaikan atau penurunannya.

Nah umumnya kita mencari cara mudah yaitu melakukan dua kali query di database MySQL untuk mendapatkan data yang diminta. Memang tidak ada masalah, tetapi kurang efektif.
Secara umum, kita akan menggunakan query seperti di bawah ini:

Baca Juga: Penggunaan if dan else di dalam MYSQL dan PHP
<?php
$result=doQuery("select t1.total,t1.tanggal from total_realisasi t1
where LEFT(t1.tanggal,7)=? order by t1.tanggal DESC", Array('2019-07'));

foreach(doArray($result) as $row)
	{
		$result2=doQuery("SELECT t2.total FROM total_realisasi t2 WHERE t2.tanggal < ? order by t2.tanggal DESC limit 1", Array($row['tanggal']));
	}
?>

doQuery dan doArray adalah sql query sesuai dengan class mysql yang kita gunakan.

Sebenarnya, hasil yang sama bisa dilakukan cukup dengan satu kali query, dan tentunya akan lebih efektif.
Caranya adalah sebagai berikut:

<?php
$result=doQuery("select 
t1.total,t1.tanggal,
IFNULL((SELECT t2.total FROM total_realisasi t2 WHERE t2.tanggal < t1.tanggal order by t2.tanggal DESC limit 1), 0) as prevjml
from total_realisasi t1
where LEFT(t1.tanggal,7)=? order by t1.tanggal DESC", Array('2019-07'));
?>

IFNULL((SELECT t2.total FROM total_realisasi t2 WHERE t2.tanggal < t1.tanggal order by t2.tanggal DESC limit 1), 0) as prevjml artinya jika tanggal sebelumnya tidak ditemukan, makan nilai yang akan di return adalah 0.
LEFT(t1.tanggal,7) adalah function dari MySQL untuk mengambil tujuh karakter dari kiri.

Dari mysql query di atas kita akan mendapatkan hasil

total  |  tanggal  |  prevjml
6000000   |  2019-07-30   |  84000000
84000000   |  2019-07-29   |  39000000
39000000   |  2019-07-27   |  50000000
50000000   |  2019-07-26   |  5000000
5000000   |  2019-07-18   |  6000000
6000000   |  2019-07-16   |  10000000

Baca Juga: Penggunaan if dan else di dalam MYSQL dan PHP

Dari sini bisa kita lihat nilai pada kolom prevjml sama dengan nilai pada kolom total di tanggal sebelumnya.
Sebagai contoh: nilai prevjml pada tanggal 2019-07-30 merupakan nilai total pada tanggal 2019-07-29. Dan dengan data di atas, kita sudah bisa menampilkan juga prosentase kenaikan atau penurunan penjuala dengan script PHP biasa.

Dengan demikian kita tidak perlu lagi melakukan dua kali query untuk mendapatkan nilai total sebelumnya.

Selamat mencoba.



Artikel Lainnya

Web Design Surabaya - Web Design Murah - Jasa SEO terbaik

Membuat input type text hanya boleh berisi angka dengan HTML5

Bagaimana membuat input text supaya hanya boleh berisi angka saja? Tidak perlu menggunakan javascript, karena dengan menggunakan HTML5 kita bisa membuatnya dengan mudah. Anggap saja kita ingin membuat kolom untuk menginputkan temperatur badan seseor ...


Memeriksa Password Strength dengan pStrength jQuery Plugin

Di dalam membuat web design, terkadang kita membuat form registrasi untuk pengunjung situs kita. Salah satu fitur di dalam form registrasi adalah password.Salah satu yang dibutuhkan adalah password strength untuk menjamin keamanan akses yang lebih ba ...


Ketahui Cara Kerja Javascript Dalam Membangun Sebuah Website

Bahasa pemrograman yang digunakan untuk membuat situs website memang beragam. Kini, para developer pemula tidak hanya menggunakan bahasa pemrograman web dengan PHP saja, yang tak kalah populernya juga menggunakan Javascript. Javascript sendiri cukup ...


Proses Pengerjaan

Web Design - Photography (foto prewedding casual, foto prewedding unik, photo pre wedding) - Videography

Lokasi di Surabaya dan Bali

Foto Buat Nikah

Desain Grafis

Kontak

08113638531 / 08113865464

info@tatamedia.com

Desainer Website di Surabaya

Web Design di Bali

Kantor

Tatamedia Solusindo Surabaya

Dekkophotography Bali

Video Prewedding

Web Design

Support

Kirim permintaan anda ke

info@tatamedia.com