Mysql 如果没有日期记录,如何处理where Date

Mysql 如果没有日期记录,如何处理where Date,mysql,Mysql,我正在设置一个图表,显示每个员工每月新合同的数量。不是每个月都作为记录显示在我的表中,如何显示0作为每个月没有记录的员工的合同计数 选择员工姓名、金额(合同)作为nbcontract 从桌子上 其中月份(日期)=月份(现在()) 按员工名称分组 当月(现在)无记录时的当前结果: EmployeeName | nbcontract 预期结果: EmployeeName | nbcontract 雇员10 雇员20 雇员3 0 ... 其中EmployeeName显示EmployeeName的

我正在设置一个图表,显示每个员工每月新合同的数量。不是每个月都作为记录显示在我的表中,如何显示0作为每个月没有记录的员工的合同计数

选择员工姓名、金额(合同)作为nbcontract
从桌子上
其中月份(日期)=月份(现在())
按员工名称分组
当月(现在)无记录时的当前结果:

EmployeeName | nbcontract
预期结果:

EmployeeName | nbcontract
雇员10
雇员20
雇员3 0
...
其中EmployeeName显示EmployeeName的所有可能的不同值


任何暗示都将不胜感激

使用条件聚合:

SELECT
    EmployeeName,
    SUM(CASE WHEN MONTH(date) = MONTH(NOW()) THEN contract ELSE 0 END) AS nbcontract
FROM yourTable
GROUP BY
    EmployeeName;

这种方法可以保证每个员工都会出现在结果集中,即使他在当月没有合同。

考虑处理应用程序代码中的数据显示问题