我有下表:
CityNamesZip5Plus4
===========================
Zip5 Plus4 CityName
===========================
36067 1500 Prattville
36067 1501 Prattville
36067 1502 Prattville
48085 3614 Troy
48085 3629 Troy
48085 3640 Troy
48085 3641 Troy
需要用从1开始的数字替换CityName
所以表看起来像这样:
CityNameNumberZip5Plus4
===========================
Zip5 Plus4 CityNameNumber
===========================
36067 1500 1
36067 1501 1
36067 1502 1
48085 3614 2
48085 3629 2
48085 3640 2
48085 3641 2
CityName-> CityNameNumber对应关系应在单独的表中:CityNamesNumbers
问题是如何生成CityNamesNumbers表并使用它 生成CityNameNumberZip5Plus4?
答案 0 :(得分:1)
以下是用于BigQuery标准SQL
如何生成CityNamesNumbers表...
#standardSQL
CREATE OR REPLACE TABLE `project.dataset.CityNamesNumbers` AS
SELECT CityName, ROW_NUMBER() OVER() CityNameNumber
FROM `project.dataset.CityNamesZip5Plus4`
GROUP BY CityName
...并使用它生成CityNameNumberZip5Plus4?
#standardSQL
CREATE OR REPLACE TABLE `project.dataset.CityNameNumberZip5Plus4` AS
SELECT x.* EXCEPT(CityName), CityNameNumber
FROM `project.dataset.CityNamesZip5Plus4` x
JOIN `project.dataset.CityNamesNumbers` y
USING(CityName)