Halo teman-teman, bagaimana kabarmu hari ini? . Dalam hal ini saya akan menggunakan fungsi COUNT untuk menghitung seluruh isi data yang tersedia dan BUKAN COUNT DATA KOSONG
Baiklah. kali ini saya punya meja seperti ini
Skrip dasar untuk fungsi COUNT adalah sebagai berikut
PILIH COUNT(nama_kolom) DARI nama_tabel
Untuk mengaplikasikannya cukup mudah, tinggal ketikkan script sesuai petunjuk dibawah ini maka akan muncul hasil dengan benar
Melanjutkan artikel sebelumnya, pada kesempatan kali ini kita akan membahas cara menghitung jumlah baris pada field (kolom) tertentu dengan syarat tertentu di MySQL
Persiapan data
Tabel dan relasi antar tabel yang akan kita gunakan pada tutorial kali ini sama seperti pada artikel sebelumnya yaitu tampilannya seperti gambar berikut
Unduh file SQL
File SQL di atas dapat digunakan untuk membuat semua tabel yang diperlukan bersama dengan data sampel
Menggunakan Fungsi COUNT IF
Seperti yang kita ketahui, untuk menghitung baris (baris) pada tabel, kita menggunakan fungsi +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 yang secara otomatis akan menghitung jumlah baris yang tersedia ( baris dengan nilai +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+47 tidak akan dihitung< /a> ).
Kriteria menghitung barisan dapat dilakukan dengan 2 cara yaitu dengan
- +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+48 yang akan menghitung semua baris di semua kolom.  Hasilnya akan diambil dari kolom yang memiliki jumlah baris terbanyak
- +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+49 yang akan menghitung baris untuk kolom tertentu
Sedangkan berdasarkan pendataan, fungsi +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 dapat ditulis dengan atau tanpa klausa  +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+51, yaitu
- +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 untuk menghitung semua baris bahkan jika ada duplikasi data
- +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+53 untuk menghitung baris unik (data yang sama tidak dihitung)
Melanjutkan artikel sebelumnya, sekarang kita akan menghitung jumlah barang yang terjual berdasarkan tahun penjualan, query yang kita gunakan
SELECT COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan_Hasil yang kita dapatkan
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+Selanjutnya, jika kita ingin mengelompokkan hasil berdasarkan bidang atau kolom tertentu, misalnya +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+54 maka kita dapat mengelompokkan bidang menggunakan klausa +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+55. Contoh
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelangganMaka hasil yang akan kita dapatkan
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+Terakhir, mari tampilkan informasi data pelanggan dengan menggabungkan tabel penjualan dan tabel pelanggan. Adapun kueri yang kami butuhkan
SELECT id_pelanggan, nama, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan LEFT JOIN pelanggan USING(id_pelanggan) GROUP BY id_pelangganHasil
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+Penting untuk diperhatikan bahwa antara +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 dan tanda kurung buka tidak boleh ada spasi , misalnya. +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+57  jika tidak, maka kueri akan berhenti dan pesan kesalahan akan muncul.  +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+58
Lebih jauh
Fungsi +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 ini juga sering digunakan untuk membuat tabel pivot. Pembahasan cara membuat pivot table dibahas pada artikel
- Tabel Pivot Dengan MySQL – Panduan Lengkap
- Tabel Pivot Dinamis Dengan MySQL
- Tabel Pivot Dengan PHP dan MySQL
Itulah tutorial penggunaan function+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_60, jika kasus yang anda alami berbeda silahkan baca komentar di bawah artikel ini, mungkin solusinya ada
Jika ada rekan yang bertanya tentang query, harap sertakan dengan jelas contoh tabel data serta contoh hasil tabel yang diinginkan
Berlangganan sekarang
Suka artikel di Jagowebdev. com? . com
Komitmen kita. Kami selalu menghargai privasi Anda dan tidak akan membagikan identitas Anda kepada pihak mana pun
kata agusph .
Sebaiknya jangan gunakan perintah +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+61 mas, karena perintah tersebut sudah usang dan akan dihapus di PHP versi 7, sebagai gantinya, cobalah untuk membiasakan diri menggunakan +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+62 atau +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+63
Saya tidak mengerti file yang mas tulis di perintah mysql (sumber, pertanyaan) sepertinya tidak ada hubungannya dengan apa yang diminta
Untuk jawaban dari pertanyaan di atas, yang pertama dipahami bahwa jika Anda menggunakan fungsi agregat seperti +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+64, +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+65, +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+66, dll, maka mysql secara otomatis akan melakukan grup, jadi kita tidak perlu menulis perintah +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+55, yang kedua adalah dengan menggunakan tanda backtick (`) untuk penulisan tabel dan field yang namanya sama dengan nama perintah mysql, query diatas menggunakan tabel order yang akan bentrok dengan fungsi MySQL yaitu ORDER BY sehingga perlu diberikan backtick, untuk kueri Anda dapat mencoba seperti ini
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014Jika Anda ingin mencoba menggunakan PDO, Anda dapat mencoba contoh berikut
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) )Itu aja gan, semoga membantu...
kata agusph .
Sepertinya tanggalnya tidak tersimpan di database ya pak?
dengan asumsi sudah ada bidang tanggal di tabel
WHERE harus ditulis sebelum GROUP BY, jadi coba ubah query menjadi
trus kalo masih error, coba sebelum $result di echo query +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+68, coba lihat apakah sudah benar. Selain itu untuk mengambil data antara dua periode, jika format data tanggalnya sudah y-m-d maka gunakan antara saja misalnya
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs;jika format tanggal tidak sama, bisa diubah dulu dengan fungsi STR_TO_DATE, misal format tanggal masih dd/mm/yy melanjutkan contoh diatas titik. 01/06/2015 dtk. d 09/01/2015, kueri
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+0Demikian, semoga membantu
kata agusph .
Untuk membuatnya seperti itu bisa menggunakan LIMIT mas, ambil dua baris terakhir, misalnya tabel
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_1SQL-nya
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_2Pada LIMIT, kita harus mengetahui jumlah baris dikurangi 2, misalnya di atas jumlah baris 5-2 = 3. Karena di LIMIT Anda tidak bisa menggunakan variabel misalnya. +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+69 agak repot, kalau ID nya auto increment, SQL nya bisa dirubah jadi
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_3Selain itu, jika ID sudah diketahui, Anda dapat menggunakan kueri berikut
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_4Menurut saya, sepertinya lebih bisa diandalkan jika Anda menggunakan ID sebagai penanda, bukan baris, karena baris bisa berubah
Salam
kata agusph .
Contohnya seperti ini gan
t_item
Dapat menggunakan kueri berikut
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_7Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_8Kita perlu membuat tabel mas sementara, untuk membuat resume dari tabel t_sales dan kemudian menggabungkannya ke tabel t_barang
Semoga membantu
Salam
kata agusph .
Kalau saya lihat, datanya tidak unik pak, jadi kalau digabungkan, barisnya akan berlipat ganda, dan karena fungsi +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46 digunakan untuk menghitung jumlah baris, hasilnya tidak akan cocok, untuk itu Anda bisa mencoba menggabungkan semua tabel menjadi tabel sementara dengan kolom tambahan untuk identitas setiap tabel, lalu jalankan fungsi +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+46. Gabungkan kueri
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_9Hasil penggabungan
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan0Selanjutnya buat kueri +-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+_46
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan1Hasil
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan2Semoga membantu…
Salam
rizki ucap.
Terima kasih mba, sudah dijawab, maaf baru balas...
masih belum muncul mas knapa yah kenal newbie...hickshiks
jadi begini maksudnya pak, misalkan saya punya 1 tabel master dan 3 tabel transaksi
lalu tabel transaksi saya bagi menjadi 3 pertanyaan, setiap transaksi memiliki nomor yang berbeda...
Nah, saya bingung sendiri ketika ingin membuat ringkasan laporan ke pdf per bulan berdasarkan tanggal transaksi
karena tabel transaksi terpisah... Rencana saya adalah membuat tabel transaksi kosong
Fieldnya sama dengan 3 tabel transaksi untuk menampung/membuat 1...
3 tabel transaksi sehingga ketika ada proses transaksi dari 3 tabel tersebut otomatis tersimpan
ke meja shelter biar mudah rekapnya lho, aku sendiri malah tambah bingung...hickshiks
saya juga maklum saya newbie baru belajar, mohon bantuan dan bimbingannya pak... terima kasih
ini contohnya gan...
Master
id_master
nama
Tipe
persediaan
transaksi_tipe_a
id_transaksi_a
id_master
transaksi_tanggal_a
Tipe
jumlah
transaksi_jenis_b
id_transaksi_b
id_master
transaksi_tanggal_b
Tipe
jumlah
transaksi_tipe_c
id_transaksi_c
id_master
transaksi_tanggal_c
Tipe
jumlah
kata Norma Fitra Pusta Rahma .
Mohon maaf pak saya mau tanya, kalau mau hitung seperti ini jumlah orang yang mendaftar, apakah itu laki-laki, perempuan, dll seperti tabel di bawah ini yang kosong, bagaimana caranya ya pak?
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan4Tabel masternya seperti ini
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan5app_registration 4 = diterima
option_prodi 101 = manajemen
102 = akuntansi
103 = Ekonomi Islam
Saya sudah mencoba seperti ini tetapi tidak berhasil, saya agak bingung
$dtpendaftar=mysql_query("pilih count(id_daftar) sebagai num dari 'pendaftar' where selection_prodi='101' and th_akademik='1' ");
$result=mysql_fetch_assoc($dtregistrant);
$jml=$hasil['bil'];
gema”$total”;
rangga ucap.
maaf repot mau tanya, sebenarnya saya ingin membuatnya seperti ini
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan6dan tabelnya seperti ini
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan7kecamatan 1=tebet
desa 2 = bukit duri
RW 1=RW01
penyakit 4 = campak
penyakit 3 = diare
penyakit 2 = dbd
status 1 = penderita
status 2 = mati
Saya bingung ngitung jumlahnya di tiap kolom, gimana caranya gan?. tolong bantu
kata agusph .
Sebenarnya logikanya hampir sama ketika kita menggunakan bahasa pemrograman seperti PHP, MySQL,
untuk membuat resume per kolom, gunakan fungsi agregat mas seperti SUM, AVG, COUNT, dll. Jika kondisi yang dibutuhkan hanya satu, kita dapat menggunakan IF, jika lebih dari satu gunakan CASE. untuk solusi diatas coba pake query ini pak
Hasil
SELECT id_pelanggan, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan GROUP BY id_pelanggan_9kata hanif .
tolong bantu saya bagaimana membuat pertanyaan ...
bingung cara menampilkan query untuk data bulan sebelumnya
SAYA INGIN MEMBERIKAN DATA SEPERTI DIBAWAH INI
CONTOH BULAN JANUARI LALU, BULAN INI FEBRUARI
adhep mengatakan.
Maaf mau tanya, saya punya 3 meja
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+2pilih mbarang. kd_brg, Mbarang. nm_brg,jumlah(brgout. jml_keluar)keluar,
jumlah (brgmsk. jml_msk)sebagai msk dari mbarang dalam bergabung dengan brgkeluar di mbarang. kd_brg=brg
keluar. kd_brg bagian dalam bergabung dengan brgmsk di brgmsk. kd_brg=keluar brg. grup kd_brg oleh mbara
ng. kd_brg, Mbarang. nm_brg;
sehingga hasilnya seperti dibawah ini ya pak saya sudah coba tapi tidak cocok
jumlah keluar harus 15 bukan 30 dan jumlah msk harus 6 bukan 12 stok juga tidak muncul
Terima kasih atas bantuannya
kata Ryan .
pak saya mau tanya bagaimana cara menghitung hitungan berdasarkan tanggal dan berdasarkan 3 tabel ya pak,
berikut ini bentuk tabelnya mas
Dan hasilnya seperti ini gan
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+6Mohon pencerahannya, terima kasih banyak
kata agusph .
Hal penting yang perlu diperhatikan adalah pada saat menggabungkan tabel perhatikan apakah ada id yang akan kita jadikan acuan, jika YA maka kita join, jika TIDAK maka kita gabungkan seperti biasa menggunakan union, untuk kasus diatas kita menggunakan union , kemudian kita buat identifikasi untuk masing-masing tabel, dari data yang ada bisa menggunakan prefix dari id masing-masing tabel (S,G,U), setelah itu kita kelompokkan dan hitung baris dari setiap tabel, querynya adalah sebagai berikut
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+7Hasil
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+8Itu aja gan, semoga membantu
rumah .
iya pak terima kasih atas penjelasannya,,untuk menampilkan ini saya sudah berhasil menggabungkan 3 tabel,,,
+--------------+-----------+----------+-----------+----------+ | id_pelanggan | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+-----------+----------+-----------+----------+ | 1 | 4 | 5225000 | 1 | 2450000 | | 2 | 1 | 1500000 | 2 | 4000000 | | 3 | 2 | 6499000 | 1 | 2730000 | | 4 | 1 | 2900000 | 1 | 775000 | +--------------+-----------+----------+-----------+----------+_9tanya aku lagi…
bagaimana cara menampilkan hanya satu data untuk PART_NAME, apakah ini menggunakan perintah count???
mohon pencerahannya pak,,,
mulia kata.
Assalamu'alaikum, Pak. Mohon bantuannya sedikit gan, saya kesulitan menentukan syntax
nama basis data. laba-laba
nama tabel. contoh
jadi, saya ingin menampilkan id, nama, alamat, dan kode yang berstatus 'RUMAH KOSONG' sebanyak 3 kali
tolong bantu saya.. 🙂
kata Erwin A .
Permisi pak mau tanya ini saya buat aplikasi delphi database mysql ada menu rekap absensi mas soalnya sql bisa menghitung jumlah data yang sama tiap baris bukan kolom, seperti menghitung jumlah siswa yang hadir, misalnya tabelnya seperti di bawah ini pak.
SELECT id_pelanggan, nama, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan LEFT JOIN pelanggan USING(id_pelanggan) GROUP BY id_pelanggan_1n.b. 1,2,3,4.. dst itu tanggalnya
K berarti hadir, A adalah alfa
jadi saya ingin menghitung jumlah K dan A di setiap baris, bukan kolom
kira-kira hasil akhirnya seperti ini mas
tolong bantu saya, terima kasih
roy .
mohon bantuannya mas agus, saya ingin menampilkan data yang berbeda berdasarkan kategori dan id_user,
Database saya seperti ini gan
Yang ingin saya tanyakan bagaimana cara menampilkan tipe tabel data berdasarkan kategori dan user yang tidak ada di tabel keanggotaan, contohnya seperti ini pak
anggap saja id_users = 1, maka data yang ingin ditampilkan adalah
Mohon bantuannya untuk koding php yang lengkap mas
soalnya masih belajar nih gan...
Terima kasih sebelumnya
kata Silvia Dewi .
Saya minta tolong, sudah 3 hari dan masih belum berhasil
Penerimaan mahasiswa baru berdasarkan daya tampung (kapasitas per jurusan)
Misalnya, ada 600 pendaftar. Kapasitas bagian Akuntansi 100 orang, Multimedia 100 orang, Administrasi 80 orang, hotel 50 orang, pemasaran 50 orang. Setiap pendaftar dapat memilih 2 jurusan. Siswa diterima berdasarkan nilai tertinggi dan prioritas diterima adalah pilihan pertama, misal A memilih jurusan Ak dan hotel. jika nilai 100 paling tinggi maka masuk ke accounting, jika tidak 100 paling tinggi maka lihat apakah opsi 2 masih kosong atau tidak
Meja
S
kata shandy kassundra .
pak saya mau tanya apakah bapak ingin menghitung jumlah absensi setiap siswa baik (kehadiran, ijin, absensi)
SELECT id_pelanggan, nama, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan LEFT JOIN pelanggan USING(id_pelanggan) GROUP BY id_pelanggan_6jadi saya tahu jumlah absensi per siswa adalah seperti ini
berdasarkan kelas yang diikutinya,
kata agusph .
Untuk membuatnya seperti itu, pertama-tama perlu mengidentifikasi baris yang dihasilkan
Dua baris pertama dikelompokkan berdasarkan JK sedangkan 3 baris berikutnya dikelompokkan berdasarkan VALUES, selain itu pada kolom Attribute terdapat dua kelompok nilai yang berbeda yaitu JK dan VALUES, sehingga diperlukan dua query
Hasil
SELECT id_pelanggan, nama, COUNT(IF( YEAR(tgl_byr) = 2016, jml_byr, NULL)) AS item_2016, SUM(IF( YEAR(tgl_byr) = 2016, jml_byr, 0)) AS jml_2016, COUNT(IF( YEAR(tgl_byr) = 2015, jml_byr, NULL)) AS item_2015, SUM(IF( YEAR(tgl_byr) = 2015, jml_byr, 0)) AS jml_2015 FROM penjualan LEFT JOIN pelanggan USING(id_pelanggan) GROUP BY id_pelanggan_9el .
Pak, saya mau tanya
Saya memiliki tabel karyawan, absensi, dan grup
di atas meja pegawai
meja absen
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+1tabel gaji kelompok
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+2Pertama, absen diisi saat penambahan petugas
maka absen akan bertambah setiap hari (1 hari = 1) tetapi jika 1 hari adalah karyawan
sakit/cuti/absen akan dikurangi 1
contoh. jika dia memasukkan 20 hari, tetapi pada hari ke 20 memberikan bukti sakit
maka 19 hari akan dikurangi
Saya ingin bertanya bagaimana cara menghitung gaji jika absen dan golongan input seperti pada contoh diatas
tolong bantu terima kasih
djamal usman kata.
mas bagaimana cara menampilkan data yang tipe datanya menggunakan ENUM,
jadi dalam kasus saya ingin menampilkan absen siswa dan menghitung jumlah absensi, sakit, cuti, dan absen, berdasarkan nis dan kelas, saya menggunakan acount tapi tidak bisa
Ini meja saya gan, mohon pencerahannya
djamal usman kata.
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+4
Konten ini ada di tabel absen, Pak
Nah yang ingin saya output seperti ini pak
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+5kata agusph .
Artinya kita tidak berpedoman pada bulannya pak, tapi periodenya, karena kita menghitungnya berdasarkan urutan deret, bukan nama bulannya, seperti yang digunakan pada mic. Unggul
Untuk itu kita menggunakan sequence pada periodenya
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+6Hasil
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+7Itu gambaran awalnya gan, coba kembangkan lagi gan
adit .
Saya meminta bantuan
Saya ingin membuat ringkasan laporan produksi produk berdasarkan id produksi
Output yang saya harapkan adalah seperti ini. pendataan barang berdasarkan kode produksi
+--------------+---------+-----------+----------+-----------+----------+ | id_pelanggan | nama | item_2016 | jml_2016 | item_2015 | jml_2015 | +--------------+---------+-----------+----------+-----------+----------+ | 1 | Alfa | 4 | 5225000 | 1 | 2450000 | | 2 | Beta | 1 | 1500000 | 2 | 4000000 | | 3 | Charlie | 2 | 6499000 | 1 | 2730000 | | 4 | Delta | 1 | 2900000 | 1 | 775000 | +--------------+---------+-----------+----------+-----------+----------+_9Tolong bantu aku...
terima kasih banyak
adit .
Saya meminta bantuan
*tbl barang_masuk
*tbl detail_barang_masuk
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20141*tbl_item
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20142"kalau saya rekap saja dari 01-1-2016 sampai 02-1-2016"
#tampilan saya harap seperti ini gan#
minta tolong mas agus
terima kasih banyak
kata agusph .
Kayaknya mejanya bisa dibuat lebih hemat ya pak
Tabel barang_masuk digabungkan dengan tabel detail barang_masuk
Tidak. login_id. item_id. num_input. tanggal masuk. id_supplier
Dan perlu diperhatikan bahwa format tanggal yang disimpan di database sangat disarankan yyyy-mm-dd agar tidak menambah waktu konversi tanggal ke format sql
Untuk kueri
Karena kita menggunakan limit tanggal, kita cari incoming_detail sesuai tanggalnya, lalu kita gabungkan tabel incoming_detail dan incoming_detail
Hasil
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20145Kemudian menghitung jumlah barang yang masuk
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20146Hasil
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20147kata Agus Prawoto Hadi .
Coba pertanyaan ini gan
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 20148Hasil
SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014_9kata agusph .
Kueri menghasilkan nilai kosong karena hasil hitungannya hanya 1 saudara, saat kueri dijalankan
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 0Hasil
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 1Jelas count(*) tidak memiliki nilai lebih dari 2, sehingga hasilnya adalah 0
Untuk menyelesaikan kasus di atas, setidaknya ada 2 logika yang harus diterapkan
Pertama. kita cari no_trans yang muncul lebih dari 2 kali
Hasil
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 3Kedua. kita cari data yang no_transnya adalah hasil query diatas
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 4Hasil
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 5Hygen .
Selamat pagi sayang,
tolong bantu
Saya punya 4 meja
mohon bantuannya mba cara menghitung jumlah hari kerja jika ada 4 tabel seperti ini, sehingga didapat hasilnya
NIP Jumlah hari kerja,,
terima kasih banyak atas bantuan Anda,
sukses selalu
kata Jaka Linglunk .
Mas, mohon pencerahannya lagi
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 7Mencari berapa banyak Permintaan Gagal?
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) 8Hasilnya Error mas. Saya sudah bolak-balik, tetap tidak bisa
Saya ingin menemukan jumlah kegagalan, jumlah keberhasilan, dan jumlah total (kegagalan dan keberhasilan)
tanpa menghitung sel yang tidak terisi
Tolong bantu pak. Terima kasih sebelumnya
kata Agus Prawoto Hadi .
Coba pakai query ini gan
$db_host = 'localhost'; $db_port = '3306'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $pdo = new PDO( 'mysql:host='.$db_host.';port='.$db_port.';dbname='.$db_name , $db_user, $db_pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1) ); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { $errMessage = 'Gagal terhubung dengan MySQL' . ' # MYSQL ERROR:' . $e->getMessage(); die($errMessage); } $sql = 'SELECT COUNT(cs) AS jml_order FROM `order` WHERE cs="anton" AND tahun = 2014'; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // Result: Array ( [0] => Array ( [jml_order] => 2 ) ) _9Hasil
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); 0untuk PHP, sesuaikan saja mas
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); 1kata anak laki-laki .
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); 2
Halo mas, saya ingin mengisi data jumlah siswa yang tertera pada tabel kelas sesuai dengan jumlah siswa pada kelas tertentu (ex. II A) yang ada di meja siswa mohon bantuannya pak terima kasih
kata Adi .
saya mau nanya gan
misalnya tabelnya seperti ini
kata Adi .
error gan, betul gan, hehehee
terima kasih saudara…
oh iya, ada satu lagi gan
kalau mau di tampilkan jadwal total di tiap jenis olahraga gimana gan?. ??
status tabel jadwal induk dan meja olahraga cabang sudah terhubung dengan foreign key pada kd_olahraga (tabel jadwal)
Hasil searching tabelnya seperti ini gan;
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); 7kata Agus Prawoto Hadi .
Sama seperti sebelumnya pak, karena kita ingin menghitung jumlah baris maka kita gunakan COUNT, nah karena kita ingin menghitung jumlah jadwal dan namanya maka kita buat tabel jadwal dengan namanya terlebih dahulu
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); 8Hasil
$where = ''; if (isset($_GET['tgl_awal']) && $_GET['tgl_akhir']) { $tgl_awal = $_GET['tgl_awal']; //y-m-d $tgl_akhir = $_GET['tgl_akhir']; //y-m-d $where .= " AND tgl between '" . $tgl_awal . "' AND '" . $tgl_akhir . "'"; } $query = "SELECT source, COUNT(source) FROM inquiry WHERE agent='fendy chang'" . $where . " GROUP BY source"; $result = mysql_query($query) or die(mysql_error()); _9Selanjutnya kita menghitung menggunakan COUNT
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; _0Hasil
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; _1Cara dapat digunakan dengan syarat nama jenis_olahraga sama persis untuk laki-laki dan perempuan, jika tidak perlu menggunakan cara lain
kata Agus Prawoto Hadi .
Itu saja langkahnya pak, intinya query kedua, pake subquery
Intinya kita samakan dulu nama jenis olahraganya
Jika hanya menggunakan tabel jadwal maka jenis_olahraga tidak bisa digabungkan, misal BTL Badminton dan BTP tidak bisa dihitung 2 saat di grup, karena namanya berbeda, untuk itu kita buat dulu namanya sama yaitu Badminton dan Badminton (dengan subquery) sehingga jika digabungkan akan dihitung 2
Contoh Lain
Kita samakan dulu namanya
Hasil
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; 3Selanjutnya kita group berdasarkan nama tersebut (Query jadi)
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; 4Hasil
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; 5orlin says.
Saya meminta bantuan
saya ada tabel seperti ini mas
*tbl nama_perumahan
*tbl_rumah
# tampilan dinginkan seperti ini mas
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; 8terima kasih banyak mas
kata Agus Prawoto Hadi .
Coba pertanyaan ini gan
SELECT *, COUNT(cs) AS jml_order FROM `order` WHERE cs='Anton' AND tgl between '2015-06-01' and '2015-09-01' GROUP BY cs; 9Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+00Pada query diatas, saya menggunakan nama rumah untuk menggabungkan tbl_perumahan dan tbl_rumah, idealnya untuk join tabel menggunakan ID, mungkin bisa ditambahkan field id_perumahan pada tbl_nama_perumahan dan tbl_rumah, di tbl_perumahan sebagai primary key, di tbl_rumah sebagai foreign key
Supriy says.
Mas/Bang – Salam kenal
Minta bantuan pencerahannya
saya punya tabel dengan gambaran sederhana Sebagai berikut
Nomor 1
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+01Nomor 2
Data yg ingin sya tampilkan adalah sbb
Nomor 3
Query yg sudah saya dapatkan sbb
(“SELECT COUNT(IF(estate_code= ‘SSE’, asset_type, NULL)) AS jumlah_sse,
COUNT(IF(estate_code = ‘DOO’, asset_type, NULL)) AS jumlah_doo
FROM m_asset
GROUP BY asset_type”)
—————————————————————————————————————-
Hasil dari query yg sya buat tersebut sudah menghasilkan, akan tetapi belum bisa membedakan mana yang kondisinya Baik dan kondisi Rusak. sya sudah coba berlogika kesana-kemari tapi belum menemukan hasil dan setelah sya search GOOGLE, sya menemukan situs http. //jagowebdev. com
Pertanyaan . Bagaimana kira2 caranya supaya query tersebut bisa menghasilkan data sesuai dengan data yg ingin sya tampilkan pada Nomor 2
Mudah – mudahan gak bingung dengan pertanyaan yg sya ajukan… heheh… ribet muter2
Sekian, Terimakasih atas jawabannya
Salam dari Junior – Supriy
kata Agus Prawoto Hadi .
Terima kasih atas kunjungannya mas. Querynya sudah hampir betul, yang perlu diperhatikan bahwa IF HANYA dapat digunakan untuk satu kondisi, karena kita akan membuat DUA kondisi, yaitu terkait estate_code dan asset_condition maka kita tidak bisa menggunakan IF, melainkan menggunakan CASE. Coba pakai query ini gan
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+03Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+04slamet riadi says.
mas bisa minta tolong?
saya sedang narik data dari mesin finger print hasil penarikan sudah saya olah menjadi strktur table seperti dibawah ini
yang ingin saya inginkan output melalui php seperti dibawah ini
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+06satu masalah lagi data yang ketarik dari mesin absen mulai januari tahun 2016 hingga hari ini bagaimana caranya agar data yang ditampilkan hanya satu bulan yang lalu dari tanggal hari ini
mohon bantuannya sebelumnya terima kasih
kata Agus Prawoto Hadi .
Untuk querynya bisa dicoba ini mas
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+07Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+08Pada query diatas, kita ambil jam masuk dari waktu minimal, untuk mengantisipasai jika ada yang absen masuk lebih dari satu kali, demikian juga dengan jam keluar
Untuk waktu satu bulan dari sekarang, bisa menggunakan fungsi NOW() – INTERVAL 1 MONTH
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+09jani says.
selamat siang mas agus mau nanya saya punya masalah sebagai berikut
berikut rumus yang saya buat di exsel+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+10
tampilan dan rumus ini saya mau ubah kedalam bentuk PHP
tapi hasilnya itu tidak sama persis dengan yang ada di exselan
bulan feb, mar ya itu muncul angka yang seharusnya dia itu “0”
bagai mana ya caranya biar sama dengan hasil yg ada di ekselnya dengan
terima kasih
kata Agus Prawoto Hadi .
Misal datanya di tabel forecast ya mas
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+11Apa maksudnya seperti ini mas?
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+12Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+13hygen says.
slmt sore mas, saya sudah coba tapi kalau query diatas, menghasilkan data 2017-02-23 . 23. 00. 00 . 2017-02-28 . 07. 00. 21
maksudnya saya
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+14kalau menampilkan data seperti ini
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+15terima kasih atas bantunnya
kata Agus Prawoto Hadi .
Itu melibatkan banyak kondisi mas, akan sulit menggunakan murni sql
Misal. absen pulang dua kali, atau absen pulang di tanggan dan bulan berikutnya seperti ini
Akan lebih memudahkan jika ada flagnya, misal
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+17Tapi saya rasa tidak mungkin menambahkan flag
Tapi kalau mau coba pakai SQL bisa pakai SELF JOIN
Contoh data
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+18+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+19Hasil
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+20Tapi query diatas tidak dapat mengakomodir pegawai yang tidak absen salah satu, masuk atau pulang. Sebaiknya olah data dari sisi aplikasi
sadewa says.
jadi begini mas,. saya lagi buat data absensi dimana datanya itu harus direport dalam tiap minggu kapanpun admin ngecek datanya. ini contoh datanya
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+21ketika user mengecek pada tanggal 8 maka data yang akan tampil hanya tanggal 8-2
yang ingin dicetak contoh seprti ini mas
di urutkan berdasarkan matakuliah yang telah dipilih mas
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+22apakah hal tersebut memungkinkan mas?
apakah ada hal lain yang bisa mempermudah mas ? mohon bantuannya
apa saya bisa minta kontaknya mas?
Terima kasih sebelumnya
fatan says.
+-----------+----------+-----------+----------+ | item_2016 | jml_2016 | item_2015 | jml_2015 | +-----------+----------+-----------+----------+ | 8 | 16124000 | 5 | 9955000 | +-----------+----------+-----------+----------+23
menghitung jumlah kab berdasarkan id prov
menghitung jumlah kec berdasarkan id kab
querynya yang gimna mas?
igal says.
pertanyaannya hampir sama dengan diatas, hanya saja jumlah kecamatan dan kecamatan dihilangkan
MariaDB [final_201611070]> pilih*dari provinsi;
kata harman .
mba, tanya lagi mba... pertanyaannya langsung gagal
saya punya meja seperti ini…
Saya ingin menampilkan jadwal seperti pada pertanyaan saya di atas tetapi berdasarkan kelas, tetapi setelah menampilkan kode guru, tidak muncul di tabel jadwal, coba tebak mas. ???
wong fey hung .
bukan hanya 10 database saja yang diunggulkan gan,,,
tapi 10 database di halaman 1, 10 database berikutnya di halaman2, dst,,, misal total database berjumlah 50database,,,
ini codingnya,,,
btw yang sebelumnya kok codingnya kepotong ya,,, ?
Hasil Pencarian
0)
{
echo “Ada $jml property yang cocok dengan pencarian $cariproperti di $wilayah”;
while($row = mysqli_fetch_array($db))
{
echo “”;
echo “Username . $row[1]”;
echo “Nama Property . $row[3]”;
echo “Wilayah . $row[7]”;
echo “Kategori . $row[8]”;
echo ”
$row[4]
“;
echo ”
“;
}
} else{
echo “Tidak ada property yang cocok dengan kata kunci $cariproperti di $wilayah”;
}
?>