【发布时间】:2020-03-26 14:20:51
【问题描述】:
我想根据两列计算不同的值,并仅根据这些列的不同值复制清理后的表。
原始表格有 5 列。
b_id | col1 | col2 | col3 | col4
1 | c11 | c21 | c31 | c41
2 | c21 | c22 | c23 | c24
3 | c31 | c22 | c23 | c24
4 | c41 | c42 | c44 | c44
4 | c41 | c52 | c53 | c54
6 | c61 | c62 | c63 | c64
6 | c61 | c72 | c73 | c74
7 | c71 | c72 | c73 | c74
我只想选择:
b_id | col1 | col2 | col3 | col4
1 | c11 | c21 | c31 | c41
2 | c21 | c22 | c23 | c24
3 | c31 | c22 | c23 | c24
4 | c41 | c42 | c44 | c44
6 | c61 | c62 | c63 | c64
7 | c71 | c72 | c73 | c74
因为 b_id & col1 有重复。我不介意 col2、col3 和 col4 上是否存在重复项。
我试过了:
DROP TABLE IF EXISTS
new_table
CREATE TABLE
new_table
AS (
select distinct
b_id
, col1
from
old_table
WHERE
col2 IN (val1, val2, val3, val4)
AND col4 = xxx
);
但这会选择我需要的不同值,但只有这两列而不是其余列...:-/
有什么想法吗?谢谢!
【问题讨论】:
-
Redshift 需要它
-
有人可以帮忙吗?
标签: sql amazon-redshift