大家好,我正在尝试使用名为 Nobel 的表来解决此问题,该表具有(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(....)
关于mysql - SQL如何处理值为0的空表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226306/