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: Memeriksa Password Strength dengan pStrength jQuery Plugin
<?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: Memeriksa Password Strength dengan pStrength jQuery Plugin

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

Penggunaan Bootstrap-DateTimePicker untuk range tanggal

Halo pembaca setia artikel kami, kali ini kami sebagai Web Design Surabaya ingin memberikan tutorial mengenai penggunaan bootstrap-datetimepicker dalam memilih tanggal masuk dan tanggal keluar. Bukan hanya tanggalnya saja, tetapi juga bisa disertai d ...


Belajar Javascript Untuk Membuat Web Design Lebih Menarik, Pemula Wajib Tahu!

Belajar dunia teknologi apalagi tentang website tentu sudah tidak asing lagi dengan istilah Javascript. Bagi seorang pemula pun, belajar Javascript juga menjadi salah satu kebutuhan yang mendasar untuk membangun sebuah website yang memiliki tampilan ...


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 ...


Kami membuat RESPONSIVE WEB

Responsive web adalah kode program web sehingga website tetap terbaca dengan mudah di semua perangkat baik komputer, smartphone, maupun tablet, dan sangat cocok dengan syarat dari mesin pencari google

web design di 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