MySql how to show zero when no value found -
i've got query:
select ent_video_tipo, count(ent_video_tipo) cnt entradas entradas.ent_user= '1' grouping ent_video_tipo order cnt desc
and give me:
ent_video_tipo|cnt 3 | 3 1 | 3 4 | 1 2 | 1
when
select ent_video_tipo, count(ent_video_tipo) cnt entradas entradas.ent_user= '2' grouping ent_video_tipo order cnt desc
i
ent_video_tipo|cnt 1 | 4 2 | 2 3 | 2
and wanted receive 0 ent_video_tipo = 4
. this
ent_video_tipo|cnt 1 | 4 2 | 2 3 | 2 4 | 0
ent_video_tipo
has own table:
type_id|type_name 1 | 2 | b 3 | c 4 | d
ok since ent_video_tipo has own type can utilize left bring together as
select evt.type_id, coalesce(count(e.ent_video_tipo),0) cnt ent_video_tipo evt left bring together entradas e on e.ent_video_tipo = evt.type_id , e.ent_user= '2' grouping evt.type_id order cnt desc ;
demo
update way of doing it
select evt.type_id, coalesce(cnt,0) cnt ent_video_tipo evt left bring together ( select ent_video_tipo, count(ent_video_tipo) cnt entradas ent_user= '2' grouping ent_video_tipo )e on e.ent_video_tipo = evt.type_id
demo
mysql
No comments:
Post a Comment