嗨,大家好,我正在尝试使用名为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(....)