Redshift统计各ID对应分类出现次数SQL报错咨询
Redshift 多列分组统计分类出现次数的解决方案
你遇到的
ERROR: could not identify an ordering operator for type record报错,核心原因是SQL中GROUP BY子句使用了带括号的元组写法(例如GROUP BY (ID, Category)),Redshift会将括号包裹的多列判定为复合record类型,该类型没有内置的分组比较算子,因此触发报错。
去掉GROUP BY后分组列的额外括号,直接用逗号分隔两列即可实现按ID+Category的组合分组统计,代码如下:
SELECT ID, Category, COUNT(*) AS size FROM -- 替换为你的实际表名 your_table_name GROUP BY ID, Category -- 可选:按ID、Category排序和示例输出顺序一致 ORDER BY ID, Category;
执行后输出结果和你预期的完全一致:
| ID | Category | size |
|---|---|---|
| flinch | cat | 2 |
| mara | dog | 1 |
| mara | cat | 1 |
内容的提问来源于stack exchange,提问作者scalacode
相关产品推荐
相关产品推荐

