您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

不能在用于GROUP BY子句的group by列表的表达式中使用聚合或子查询

不能在用于GROUP BY子句的group by列表的表达式中使用聚合或子查询

除非您将包括在内T.Client,否则您GROUP BY只能在聚合函数包括该字段。在您的情况下,按该字段分组会改变逻辑,因此就没有了(并且与您按CASE语句进行分组的尝试有关)。而是包装T.Client一个聚合函数

这样,您的组仍然是相同的,并且根据CASE语句的测试,当只有一行时,您知道聚合函数将给出什么结果。

SELECT
  T.Post,
  ClientCount = COUNT(*) AS ClientCount,
  Client      = CASE COUNT(*) WHEN 1 THEN MAX(T.Client) ELSE '[Clients]' END
FROM
  MyTable T
GROUP BY
  T.Post
其他 2022/1/1 18:31:37 有487人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶