麦粉社区
>
帖子详情

计算字段“参与分组”设置项两个选项的区别

电子表格 发表于 2019-11-14 14:59
发表于 2019-11-14 14:59:04
在组合分析中可以新建计算字段,计算字段的设置项中有一个设置项“参与分组”,那么选择“自动”和“否”的时候有什么区别呢?
发表于 2019-11-14 14:59:21
如果选择”自动“:
1)其它字段有设置聚合(比如sum、count等)那么会把该计算字段拼接在外层的group by语句中分组
2)其它字段没有设置聚合,那么不会把该计算字段拼接在group by语句中分组

如果选择“否”:
1)其它字段有设置聚合(比如sum、count等),那么不会把该计算字段拼接在外层的group by语句中分组
2)其它字段没有设置聚合,那么会在生成的sql内层拼接group by语句,其中分组字段是除了该计算字段外的所有字段
这种主要是针对计算字段里面的表达式写上 sum(字段)+aaa这种情况,例如下面的sql
select
T471.`F0` as F472,
T471.`F2` as F518,
T471.`F6` as F474,
T471.`F532` as F603
from
(select
T10.`CategoryName` as F0,
T11.`ProductName` as F2,
T12.`Quantity` as F6,
T12.`Quantity` * T12.`UnitPrice` *(1- T12.`Discount` ) +2 as F532   //计算字段
from
`orderdetails` T12
inner join
`products` T11
on T12.`ProductID` = T11.`ProductID`
inner join
`categories` T10
on T10.`CategoryID` = T11.`CategoryID`
where
T10.`CategoryName` is not null
group by
T10.`CategoryName`,
T11.`ProductName`,
T12.`Quantity`) T471 limit 1000
如果觉得不用内层加group by,其实这种情况就该把这个计算字段设置为“自动”解决,生成的sql就不带group by了。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 0关注人数 4167浏览人数
最后回复于:2019-11-14 14:59
快速回复 返回顶部 返回列表