sql中的分组方式

sql中的分组方式,sql,Sql,我是SQL新手。我正在写一个问题: SELECT iif([Cancellation Date] is NULL, 'Not Cancelled', 'Cancelled') as Status, SUM(Loss) as [Total Loss] from INSURANCE_DATA GROUP by Status; 所以基本上我想按保单状态汇总损失。 此查询无法运行,因为我正在按此查询中生成的新变量分组 我可以在此基础上编写另一个查询来获得我想要的,但是有没有什么有趣的解决

我是SQL新手。我正在写一个问题:

SELECT iif([Cancellation Date] is NULL, 'Not Cancelled', 'Cancelled') as Status,
       SUM(Loss) as [Total Loss]
from INSURANCE_DATA
GROUP by Status;
所以基本上我想按保单状态汇总损失。 此查询无法运行,因为我正在按此查询中生成的新变量分组


我可以在此基础上编写另一个查询来获得我想要的,但是有没有什么有趣的解决方案可以让我在一个查询中完成它?

你说得对,你不能使用组中的别名。但是如果你按照价值来组成你的团队

GROUP BY [Cancellation Date] is NULL

那么实际上也是一样的。

您是否尝试过按您在select中声明的表达式分组,而不是引用它的别名

e、 g


Dan

Just
group by iif([Cancellation Date]为空,'Not Cancelled','Cancelled')
什么版本的SQL(MS Access?)实际错误是什么?您使用的是MS Access还是其他DBMS?哇!它起作用了!非常感谢。很乐意帮忙。您是否有可能接受我们的答案?您需要单击您认为最有用的答案旁边的勾号。查看巡演在那里做什么?Access是否确实接受
GROUP BY
中的
ASC
DESC
?哈哈哈,不确定。我想我以为我在写一份订单。。。谢谢你的接球!我把它取下来。
SELECT iif([Cancellation Date] is NULL, 'Not Cancelled', 'Cancelled') as Status,
SUM(Loss) as [Total Loss] from INSURANCE_DATA GROUP BY iif([Cancellation Date] is NULL,
'Not Cancelled', 'Cancelled');