MySQL menghitung jumlah karakter tertentu di dalam kolom

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…

Bagikan

You May Also Like

About the Author: rasupe

Leave a Reply

Your email address will not be published. Required fields are marked *