Jan*_*z01 8 sql amazon-redshift
我试图计算在Amazon redshift中具有2列的不同组合的行。我正在使用的查询是-
select count(distinct col1, col2)
from schemaname.tablename
where some filters
Run Code Online (Sandbox Code Playgroud)
这让我犯了这个错误-
亚马逊无效操作:函数计数(字符变化,bigint)不存在`
我尝试强制转换bigint为,char但没有成功。
Zay*_*hin 13
您可以使用子查询和计数
select count(*) from (
select distinct col1, col2
from schemaname.tablename
where some filter
) as t
Run Code Online (Sandbox Code Playgroud)
聚会有点晚,但无论如何:您也可以尝试使用||连接列 运营商。它可能效率低下,所以我不会在生产代码中使用它,但对于临时分析应该没问题。
select count(distinct col1 || '_' || col2)
from schemaname.tablename
where some filters
Run Code Online (Sandbox Code Playgroud)
注意分隔符的选择可能很重要,即两者'foo' || '_' || 'bar_baz'和'foo_bar' || '_' || 'baz'产量'foo_bar_baz'因此相等。在某些情况下,这可能令人担忧,在某些情况下,它是如此微不足道,您可以完全跳过分隔符。
| 归档时间: |
|
| 查看次数: |
4544 次 |
| 最近记录: |