首页 文章

mySQL如何将NULL显示为0

提问于
浏览
2

在没有数据时,尝试让我的代码显示0而不是NULL:

SELECT e.EntryName AS Name, e.EntryDate AS Date,

(SELECT COALESCE(COUNT(l.crashNumber), 0)
FROM Crash l
WHERE l.crashName = e.EntryName 
AND l.crashDate = e.EntryDate
GROUP BY l.crashNumber
ORDER BY COUNT(l.crashNumber) DESC
LIMIT 1)

FROM 
(SELECT e.EntryName, e.EntryDate
FROM Entry e
GROUP BY e.EntryName, e.EntryDate)

e;

正如你所看到我尝试使用COALESCE,我尝试过使用ISNULL . 我的想法是并非所有种族都有崩溃所以它们的输出显示为NULL,但我希望当它为NULL时它应该显示为0 .

1 回答

  • 3

    使用:

    SELECT e.raceEntryRaceName AS raceName, e.raceEntryRaceDate AS raceDate,
    
    Coalesce( ( SELECT COUNT(l.pitstopRaceNumber)
               FROM PitStops l
               WHERE l.pitstopRaceName = e.raceEntryRaceName 
                 AND l.pitstopRaceDate = e.raceEntryRaceDate
               GROUP BY l.pitstopRaceNumber
               ORDER BY COUNT(l.pitstopRaceNumber) DESC
               LIMIT 1), 0) AS mostPitstops
    
    FROM .....
    

相关问题