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: Membuat input type untuk email di HTML
<?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: Membuat input type untuk email di HTML

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

Kiat Membuat Website Berbasis JavaScript Yang SEO Friendly

Kini banyak web developer yang menggunakan JavaScript sebagai bahasa pemrograman website mereka. Jenis bahasa pemrograman ini dinilai dapat menciptakan website yang lebih interaktif, responsif dan dinamis. Hal tersebut sangat penting untuk meningkatk ...


Cara mempercepat loading web

Sebagai Jasa Web Design Surabaya, kami seringkali menghadapi saat load sebuah website tidak maksimal, karena harus menunggu cukup lama sampai ada content yang dimunculkan.Hal ini bisa terjadi jika halaman web kita memiliki banyak gambar, css, dan jav ...


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


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