嗨,大家好,我正在尝试使用名为nobel have(yr,subject)列的表来解决此问题

提供给该问题的答案如下
选择显示未授予医学奖的年份的代码

SELECT COUNT(DISTINCT yr) FROM nobel
   WHERE yr NOT IN (SELECT DISTINCT yr FROM nobel WHERE subject = 'Medicine')


但是,我的问题是,是否每年给予一次药物,这意味着我们的查询

SELECT COUNT(DISTINCT yr) FROM nobel WHERE yr NOT IN(....)


将从一个空表中选择,然后返回0,而不是返回错误,那么如何处理这种情况?

非常感谢 !

最佳答案

您可以使用mysql的IFNULL()

SELECT IFNULL(COUNT(DISTINCT yr), 0) FROM nobel WHERE yr NOT IN(....)

10-08 00:12