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

MySql:是否可以'SUM IF'或'COUNT IF'?

乐正德华
2023-03-14
问题内容

我有一个“小时”列,我有一个“种类”列(可以是1,2或3)

我想做类似的事情:

SELECT count(id), SUM(hour) as totHour, SUM( IF ( kind = 1, 1, 0 ) ) as countKindOne

要么

SELECT count(id), SUM(hour) as totHour, COUNT( IF ( kind = 1 ) ) as countKindOne

但是mysql告诉我我有一个错误…什么是错误!

请参见以下stackoverflow主题:MySQL SUM IF字段b
=字段a

..我无法回复此邮件…


问题答案:

您可以使用以下CASE语句:

SELECT count(id), 
    SUM(hour) as totHour, 
    SUM(case when kind = 1 then 1 else 0 end) as countKindOne


 类似资料:
  • 问题内容: 有没有一种方法可以检查nodestore的firestore中是否存在子集合? 目前,我正在使用文档,但是我需要检查文档中是否存在子类以便写入一些数据。 问题答案: 就在这里。您可以使用docs.length来知道子集合是否存在。 我制作了一个样本来指导您,希望对您有所帮助。

  • 问题内容: 我从2005年起在MySQL论坛上找到了一个帖子,但是最近才发布。基于此,这是不可能的。但是在3-4年内会有很多变化。 我正在寻找的是一种在视图上建立索引但使被查看的表保持未建立索引的方法。索引会损害写入过程,并且该表的写入频率非常高(索引会减慢所有内容的爬取速度)。但是,缺少索引使我的查询非常缓慢。 问题答案: 我不认为MySQL支持您需要的物化视图,但无论如何在这种情况下它不会帮助

  • 问题内容: 我必须转换一个传递查询的MSSQL存储过程: 这不起作用。我敢肯定,而不是MySQL的命令,但也不管用。 有谁知道是否有可能为MySQL提供类似JavaScript的功能? 问题答案: EXECUTE是MySQL中的有效命令。MySQL参考手册

  • 问题内容: 是在运行时严格解释Python,还是可以将其用于开发作为后台应用程序运行的程序(例如Java应用程序或C程序)? 问题答案: 这里有多个问题: 不,不解释Python。标准实现编译为字节码,然后在虚拟机中执行。许多现代的JavaScript引擎也可以做到这一点。 不管实现方式(解释器,VM,机器代码)如何,任何您想要的东西都可以在后台运行。如果需要,可以在后台运行Shell脚本。

  • 在xlsx工作簿中,有些单元格具有一些无界的SUMIF公式,如下所示:。使用ApachePOI5.0.0对一个SUMIF函数的评估持续100ms,对给定工作簿的评估持续几分钟。 提高执行持续时间的一种方法是将公式绑定到如下内容:。在我的情况下,这不是一个解决方案,因为我不是xlsx文件的作者,系统从未知的人那里获取未知的xlsx文件(因此我不能仅仅告诉他们限制SUMIF范围)。 的当前实现迭代给定

  • 问题内容: 当我尝试从Rails调用存储过程时,出现以下异常: Rails Wiki中 有一个页面讨论用于解决此问题的MySQL适配器的修补程序,但是它已过时,似乎不再起作用。 配置代码正确地启用了存储过程,但是在存储过程调用之后连接仍然不同步并且新方法不再起作用,仍然存在问题。 关于如何使它工作的任何建议? 这是我正在使用的代码: 无论是否返回任何结果,它都会引发相同的异常。 问题答案: 将程序