我想将数据框子集化为仅包含具有三列唯一组合的行.我的情况类似于此问题中提供的情况,但我还想保留数据中的其他列.这是我的例子:
> df
v1 v2 v3 v4 v5
1 7 1 A 100 98
2 7 2 A 98 97
3 8 1 C NA 80
4 8 1 C 78 75
5 8 1 C 50 62
6 9 3 C 75 75
Run Code Online (Sandbox Code Playgroud)
请求的输出将是这样的,我正在寻找仅基于v1,v2和v3的独特案例:
> df.new
v1 v2 v3 v4 v5
1 7 1 A 100 98
2 7 2 A 98 97
3 8 1 C NA 80
6 9 3 C 75 75
Run Code Online (Sandbox Code Playgroud)
如果我可以恢复非常独特的行,那也很棒:
> …Run Code Online (Sandbox Code Playgroud) 是否可以使用2列而不是仅1为分区函数对表进行分区?
考虑一个包含3列的表
ID (int, primary key,
Date (datetime),
Num (int)
我想将这个表分为2列:Date和Num.
这是我使用1列(日期)对表进行分区的方法:
create PARTITION FUNCTION PFN_MonthRange (datetime)
AS
RANGE left FOR VALUES ('2009-11-30 23:59:59:997',
'2009-12-31 23:59:59:997',
'2010-01-31 23:59:59:997',
'2010-28-02 23:59:59:997',
'2010-03-31 23:59:59:997')
go
Run Code Online (Sandbox Code Playgroud) 我想row_number基于如何从基于表的多个列获取唯一记录的
功能中
删除重复项。但是被语法错误阻止了。我的用例如下:

和我的SQL如下:
select demo.*,
row_number() over (partition by id order by creator desc) as rn
from demo
Run Code Online (Sandbox Code Playgroud)
但它告诉我:
在“(”附近:语法错误:
我不知道发生了什么,我进行了一些搜索,例如如何在sqlite中使用ROW_NUMBER 。不幸的是,我仍然不知道自己犯了什么错误。一切都会感激的。