从 table 我得到日期之间的计数和日期

from a table I am getting the count and dayname between the dates

Monday 3 
Wednesday 5
Thursday 4
Saturday 3

但是如果没有特定日期的记录,我不会将 Dayname 设置为 0 或 NULL。我想打印计数为 0

的日名

您需要一个包含所有日期名称的列表并加入您的结果

    select t1.day_name, ifnull(t2.my_count,0)
    from  (
      select 'Monday' day_name
      union 
      select 'Tuesday' 
      union 
      select 'Wednesday' 
      union 
      select 'Thursday' 
      union 
      select 'Friday' 
      union 
      select 'Saturday'
      union 
      select 'Sunday' 
    ) t1
    left join (
      select dayname(my_date_col) day_name, count(*) my_count
      from my_table 
      group by dayname(my_date_col) 
   ) t2 t1.day_name  = t2.day_name