从 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
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