SQL 将时间序列数据合并到单个 'date' 列的模式
SQL Pattern to merge time series data into a single 'date' column
我将一些住房数据导入到 BigQuery 中,它看起来像这样 -
zip_code | date_1 | date_2 | date_3 ...
12345 | 01/01/00 | 01/08/00 | 01/15/00 ....
我想在BQ中把它改成这样:
zip_code |日期
12345 | 01/01/00
12345 | 01/08/00
12345 | 01/15/00
....
有人可以帮忙提供一个 SQL 模式来简单地进行这种转换吗?
尝试使用逆轴运算符如下:
with sample_data as (
select 12345 as zip_code, '01/01/00' as date_1, '01/08/00' as date_2, '01/15/00' as date_3
)
select up.zip_code, up.date
from sample_data
unpivot(date for col_name in (date_1, date_2, date_3)) up
这将产生如下数据:
有关 unpivot 运算符的更多信息,请查看此处的文档:
https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#unpivot_operator
我将一些住房数据导入到 BigQuery 中,它看起来像这样 -
zip_code | date_1 | date_2 | date_3 ...
12345 | 01/01/00 | 01/08/00 | 01/15/00 ....
我想在BQ中把它改成这样:
zip_code |日期
12345 | 01/01/00 12345 | 01/08/00 12345 | 01/15/00 ....
有人可以帮忙提供一个 SQL 模式来简单地进行这种转换吗?
尝试使用逆轴运算符如下:
with sample_data as (
select 12345 as zip_code, '01/01/00' as date_1, '01/08/00' as date_2, '01/15/00' as date_3
)
select up.zip_code, up.date
from sample_data
unpivot(date for col_name in (date_1, date_2, date_3)) up
这将产生如下数据:
有关 unpivot 运算符的更多信息,请查看此处的文档: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#unpivot_operator