MYSQL SUM返回空白时应为0

时间:2011-11-23 13:55:43

标签: mysql sql

嘿我只是想知道为什么以下查询在我的表中返回空格而不是0 ?,因为在它应该返回0时,driver_stats表中没有任何内容?非常感谢任何帮助。

由于

   SELECT 
    SUM(IF(qual_pos = '1', 1,0)) AS poles,
    SUM(IF(race_pos <= '3', 1,0)) AS podiums,
    SUM(IF(race_pos = '1', 1,0)) AS victories,
    SUM(overtakes) AS overtakes
     FROM driver_stats s
     left join drivers d on d.drivers_id = s.drivers_id
    WHERE d.team_id = '$row[team_id]'

2 个答案:

答案 0 :(得分:0)

如果您将left join更改为right join怎么办?或者只是移动你的查询,所以它是

drivers d left join driver_stats s

答案 1 :(得分:0)

如果SUM()在SQL中为零,则结果为NULL。我同意你的看法,答案是零是更明智的,但事实就是如此。我建议使用

COALESCE(SUM(IF(qual_pos = '1', 1,0)), 0) AS poles