
Bismillaahirrohmaanirrohiim…
Misalkan kita punya table table_pegawai, dengan data sebagai berikut:
Kita ingin menghitung huruf A pada setiap nama. Anggap saja kolom jum_a tidak ada dalam table_pegawai tersebut, jadi table_pegawai hanya mempunyai kolom ID dan nama_pegawai saja.
ID | nama_pegawai | jum_a |
---|---|---|
1 | ardi prawangsa | 4 |
2 | siti maslikah | 2 |
3 | rudiatmaja | 3 |
Query yang bisa digunakan untuk menghitung jumlah A di setiap nama adalah:
SELECT *, ROUND ( ( LENGTH(nama_pegawai) - LENGTH( REPLACE ( nama_pegawai, "a", "") ) ) / LENGTH("a") ) as jum_a FROM table_pegawai order by ID limit 30
Seandainya kita tidak ingin menampilkan jum_a dalam bentuk query select saja, namun kita ingin membuat kolom jum_a sehingga saat query menjadi lebih ringan karena hanya menggunakan select saja.
Maka kita perlu membuat kolom jum_a dengan default 0, kemudian kita update dengan query di atas, menjadi seperti berikut:
update table_pegawai set jum_a = ROUND ( ( LENGTH(nama_pegawai) - LENGTH( REPLACE ( nama_pegawai, "a", "") ) ) / LENGTH("a") ) where nama_pegawai!=''
Nah, cukup mudah bukan, jika ada yang ingin ditanyakan silahkan tinggalkan di kolom komentar…
Semoga bermanfaat ya…