将两列映射到 Athena 中的一列
Mapping two columns into one column in Athena
我在 Athena 中有这样的数据:
| shop_id | date | provider | provider_new | sales
| 123 | 2020-06-01 | X | | 100
| 124 | 2020-07-01 | Y | | 200
| 125 | 2020-08-01 | | Z | 300
| 126 | 2020-09-01 | | T | 400
但是,table 所有者将 provider
更改为 provider_new
。因此,在 2020-08-01 之后,提供者 returns 为 NULL。这是我的查询:
SELECT date,
shop_id,
CASE
WHEN provider = 'X' THEN
'X'
WHEN provider = 'Y' THEN
'Y'
WHEN provider LIKE 'Z%' THEN
'Z'
WHEN provider LIKE 'T%' THEN
'T'
ELSE 'M'
END AS provider_group,
SUM(sales) AS sales
FROM X
GROUP BY 1, 2
如何将这两列映射到一列?
提前致谢。
你要coalesce()
吗?
coalesce(provider, provider_new)
coalesce()
returns 给定参数的第一个非 null
值。
我在 Athena 中有这样的数据:
| shop_id | date | provider | provider_new | sales
| 123 | 2020-06-01 | X | | 100
| 124 | 2020-07-01 | Y | | 200
| 125 | 2020-08-01 | | Z | 300
| 126 | 2020-09-01 | | T | 400
但是,table 所有者将 provider
更改为 provider_new
。因此,在 2020-08-01 之后,提供者 returns 为 NULL。这是我的查询:
SELECT date,
shop_id,
CASE
WHEN provider = 'X' THEN
'X'
WHEN provider = 'Y' THEN
'Y'
WHEN provider LIKE 'Z%' THEN
'Z'
WHEN provider LIKE 'T%' THEN
'T'
ELSE 'M'
END AS provider_group,
SUM(sales) AS sales
FROM X
GROUP BY 1, 2
如何将这两列映射到一列?
提前致谢。
你要coalesce()
吗?
coalesce(provider, provider_new)
coalesce()
returns 给定参数的第一个非 null
值。