这是我的选择查询:
SELECT SUM(rating) AS this_week 
FROM table_name 
WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)
这基本上计算了上周的项目评级(604800是1周内的秒数).
问题是当表中没有行时,this_week将返回NULL.我希望查询返回0,以防表中没有行.怎么做?
Jim*_*nke 54
这应该做的伎俩:
SELECT COALESCE(SUM(rating),0) AS this_week FROM table_name 
  WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)
COALESCE是一个函数,它将从列表中返回第一个非NULL值.