Bla*_*ite 1 sql snowflake-cloud-data-platform
我有一个如下所示的数据表:
User ID Co_UserID Name Total Tickets
1514677 1377535 Jose 273013
1514677 1377535 Jose 273013
1514677 1377535 Jose 273013
1514677 1377535 Jose 273013
1514677 1377535 Jose 273013
212121 31313 Rob 21212
312312 234134 James 33
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我有基于Jose 的用户 ID和Co_userID 的重复项。我试图返回 user_ID 和 co_userID 的组合出现一次的不同记录。
期望的输出:
User ID Co User ID Name Total Tickets
1514677 1377535 Jose 273013
212121 31313 Rob 21212
312312 234134 James 33
Run Code Online (Sandbox Code Playgroud)
我尝试运行如下查询,但无法选择多个不同值。有人可以建议吗?
SELECT distinct d.User_ID, distinct d.Co_userID, d.Name, d.Total_Tickets
From DATA d
Run Code Online (Sandbox Code Playgroud)
你只需要一个DISTINCT:
SELECT distinct d.User_ID, d.Co_userID, d.Name, d.Total_Tickets
From DATA d;
Run Code Online (Sandbox Code Playgroud)
SELECT DISTINCT是 SQL 中的单个关键字(好吧,是SELECT子句的修改)。不需要额外的区别。
这适用于您提供的数据。如果您希望前两列为一行,并且其他列有多个值,则使用“QUALIFY:
SELECT d.User_ID, d.Co_userID, d.Name, d.Total_Tickets
FROM DATA d
QUALIFY ROW_NUMBER() OVER (PARTITION BY d.User_ID, d.Co_userID ORDER BY d.User_id) = 1
Run Code Online (Sandbox Code Playgroud)