Sql 避免表中特定列的重复记录
我有一个如图所示的表格。在数字列中,值出现了不止一次(例如63出现了两次)。我只想保留一个值。请查看我的代码: 从t1中删除,其中Sql 避免表中特定列的重复记录,sql,google-bigquery,Sql,Google Bigquery,我有一个如图所示的表格。在数字列中,值出现了不止一次(例如63出现了两次)。我只想保留一个值。请查看我的代码: 从t1中删除,其中 (SELECT *,row_number() OVER ( PARTITION BY Number ORDER BY Date) as rn from t1 where rn > 1) 它显示了错误。谁能帮忙吗 按划分的决定行号的重复方式
(SELECT *,row_number() OVER (
PARTITION BY
Number
ORDER BY
Date) as rn from t1 where rn > 1)
它显示了错误。谁能帮忙吗
按划分的
决定行号的重复方式。行号由
键为每组分区分配。所以,你可以得到副本
如果您希望在所有行上都有一个唯一的行号,只需省略分区by
:
select t1.*
from (select t1.*,
row_number() over (order by date) as rn
from t1
) t1
where rn > 1
如果您只想保留一个值,rn=1而不是“>1”主查询未访问由行号()创建的列,为了启用该值,您可以创建一个快速子查询并使用所需的筛选器
SELECT *
FROM
(
SELECT *,
row_number() OVER (PARTITION BY Number ORDER BY Date) as rn
FROM t1 ) T
where rn = 1;
嗨,戈登,上面写着:未识别的名字:rn at[5:7]。你能帮忙吗?@nradrn
在子查询中定义。已经定义好了。谢谢dsk。现在天气很好。只是想知道这里的T是什么。这是表的引用,而不是完整的表名,您可以同样使用T列的名称