使用group by可以解决这个问题的几个解决方案?

克里斯·马(Chris Ma):

我有一张桌子:

create table mmm (day int, week int, sales_event int);
insert into mmm (day, week, sales_event) values (6,1,1), (7,1,1), (13,2,0), (14,2,1), (20,3,0), (21,3,0);

我想得到一个按周分组的结果集,其中显示两列。一个是星期,另一个是sales_event。如果sales_event在分组依据之后包括1,则sales_event为1,或sales_event为0。

这是我的解决方案:

select week, if(max(sales_event) = 1, 1, 0) as sales_event
from mmm
group by week;

我想知道这个问题的更多解决方案。

专线小巴:

您的解决方案就是前往此处的方式。但是,我建议聚合函数中移动条件表达式

select week, max(sales_event = 1) as sales_event
from mmm
group by week;

该查询不仅缩短了查询时间,而且还可以正确处理sales_event值不是0或的情况1如果对于给定的星期值1 并且 2该列中存在该,那么您的查询将0在第二列中给出(因为max(sales_event)将返回2),而您大概仍然想要1(因为1该周可用)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 DFS 和 memoization 的这个 Coin Change 解决方案有什么问题?

Excel:在 IF 中使用 MIN 的问题 - 寻找 vba 解决方案

使用多个指针作为解决方案的averagePair问题

不使用for循环的算法问题解决方案

MySQL解决方案中使用COALESCE,GROUP BY和ORDER BY GROUPING问题

排除group_by的整洁解决方案

如何使用模型中的解决方案来解决另一个问题

使用optaplanner返回多个解决方案来解决计划问题

需要使用递归解决方案来解决此问题

有关Codility的MinMaxDivision解决方案的问题,该解决方案使用二进制搜索来解决它

如何使用JOptimizer仅获得一个可行的解决方案,以解决具有多个或无限数量的解决方案的线性规划问题?

如何使用OOP改进解决方案?

使CPLEX使用贪婪的解决方案

HttpParams不赞成使用的解决方案

使用子查询的SQL解决方案?

使用递归的解决方案数量

使用JiTCDDE的意外解决方案

使用 optim 查找 OLS 解决方案

我想使用记忆来解决离散子序列问题来优化我的递归解决方案

使用Optimize.minimize()时可以使用“超时”获得解决方案吗?

C++,我可以在构建器模式中使用默认构造函数吗?请检查我的问题和我的解决方案

我的问题是关于获得使用 javascript 计算订单总价的解决方案

编码问题HTML,使用正则表达式的解决方案?

在 Bamboo 上使用 MSBuild 构建我的解决方案时遇到问题

使用CMake为VS 2017生成解决方案时出现问题

使用简单的反射剂的流行的“ vaccumCleaner”玩具问题解决方案

使用defaultdict的解决方案和使用setdefault的解决方案有什么区别?

如果我只想使用基于ubuntu的解决方案,我可以用什么代替ESXi?

是否可以使用反射从 mstest 解决方案 dll 中获取所有测试类别?