当前位置: 首页 > 面试题库 >

如果没有记录,如何使MySQL SUM查询返回零而不是null?

谷梁晟
2023-03-14
问题内容

这是我的选择查询:

SELECT SUM(rating) AS this_week 
FROM table_name 
WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)

基本上是计算上周的商品评分(604800是1周内的秒数)。

问题是,当表中没有行时,this_week将作为NULL返回。如果表中没有行,我希望查询返回0。怎么做?


问题答案:

这应该可以解决问题:

SELECT COALESCE(SUM(rating),0) AS this_week FROM table_name 
  WHERE UNIX_TIMESTAMP(created_at) >= UNIX_TIMESTAMP() - 604800)

COALESCE是一个函数,它将从列表中返回第一个非NULL值。



 类似资料:
  • 问题内容: 我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址… 有人可以给我您用来完成此操作的URL吗? 问题答案: 我认为支持lucene语法是这样的: 大小默认为10,因此您可能还需要获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字) 但是,elasticsearch文档建议使用扫描搜索类型针对大型结果集。

  • 问题内容: 我现在正在使用Microsoft SQL,我的代码是: 我希望当[avail]存在时,返回[avail]的值,如果不存在,则返回0或“未找到” 谢谢! 问题答案: 你可以用这个

  • 如果某个特定日期没有记录,我需要上面的查询返回计数0。这似乎没有发生。 我尝试了NVL,解码。发现这个问题是由于分组的子句,但不知道如何解决这个问题。 请帮忙!!

  • 问题内容: 我的样子 当我看起来像 我有一条路线 我的控制器看起来像 当我运行我的应用程序时,我看到console.log为 我在这里做错了什么? 问题答案: 是异步的。它立即返回一个空数组,并在响应到达时稍后从请求中添加结果- 来自http://docs.angularjs.org/api/ngResource.$resource: 重要的是要意识到调用$ resource对象方法会立即返回空引

  • 问题内容: 这是我的mysql收入表。 字段“日期”是标准sql日期。我执行此查询的目的是按月计算收入总和,如果某个月没有收入,则返回零。如果某个月没有任何收入,我想要零,因为我想在图表中显示这些数据。 这是查询。 但是我只会得到如下输出。如果其他月份没有值,则没有零。这是输出。 我希望上表中的其他月份和total_num为零。我怎样才能做到这一点?那里也有同样的问题。但没有有效的答案。 按月分组

  • 问题内容: 我每月都有一组职位。现在,我需要一个数组,其中包含每个月发布的帖子总数。我尝试下面的MySql查询,它的工作正常,但我期望0(零)几个月没有记录。在这里,它不返回0。 我读到COUNT()不会返回“ 0”,那么我该如何实现呢? 我尝试了IFNULL()和COALESCE(),但仍然得到相同的结果。请帮助此查询。谢谢你...... 结果: 预期结果(没有一月份的职位): 样本数据: 问题