Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

karapho712's avatar

How to count and do alias in query builder ?

How i can do this in query builder laravel ways ?

"select COUNT(DISTINCT idm) as total, COUNT(idm) FILTER (WHERE nilai=1) as jawab_1, COUNT(idm) FILTER (WHERE nilai=2) as jawab_2, COUNT(idm) FILTER (WHERE nilai=3) as jawab_3, COUNT(idm) FILTER (WHERE nilai=4) as jawab_4, COUNT(idm) FILTER (WHERE nilai=5) as jawab_5 from t_mahasiswa_quisinoer WHERE tahun_id='aaa' and kode_mk='bbb' and kelas='ccc' and kode_prodi='ddd';"

0 likes
3 replies
neilstee's avatar

But to answer:

DB::raw('count(DISTINCT idm) as total, COUNT(idm) FILTER (WHERE nilai=1) as jawab_1...')

Something like that :)

neilstee's avatar

And for the whole query:

DB::table("t_mahasiswa_quisinoer")
             ->select(DB::raw("COUNT(DISTINCT idm) as total, COUNT(idm) FILTER (WHERE nilai=1) as jawab_1, COUNT(idm) FILTER (WHERE nilai=2) as jawab_2, COUNT(idm) FILTER (WHERE nilai=3) as jawab_3, COUNT(idm) FILTER (WHERE nilai=4) as jawab_4, COUNT(idm) FILTER (WHERE nilai=5) as jawab_5"))
             ->whereRaw("tahun_id='aaa' and kode_mk='bbb' and kelas='ccc' and kode_prodi='ddd'")
			 ->get();

It might not work because I haven't tested it but at least you know what to check on the docs.

1 like

Please or to participate in this conversation.