我有一个包含如下数据的BigQuery表:
date hits_eventInfo_Category hits_eventInfo_Action session_id user_id hits_time hits_eventInfo_Label
20151021 Air Search 1445001 A232 1952 CurrentLocation
20151021 Air Search 1445001 A232 1952 CurrentLocation
20151021 Air Search 1445001 A232 1952 CurrentLocation
20151021 Air Select 1445001 A232 7380 Vendor
20151021 Air Select 1445001 A232 7380 Vendor
20151021 Air Select 1445001 A232 7380 Vendor
如您所见,有一系列重复记录。我想最终得到每个重复记录集中的一个重复记录。例如:
date hits_eventInfo_Category hits_eventInfo_Action session_id user_id hits_time hits_eventInfo_Label
20151021 Air Search 1445001 A232 1952 CurrentLocation
20151021 Air Select 1445001 A232 7380 Vendor
我该怎么做?
提前致谢!
答案 0 :(得分:3)
您可以使用DISTINCT子句,也可以对数据进行分组。这些将汇总返回到每个唯一条目的单行中的数据。
SELECT DISTINCT [date], [hits_eventInfo_Category], [hits_eventInfo_Action], [session_id], [user_id], [hits_time], [hits_eventInfo_Label]
FROM [BigQuery]
--OR
SELECT [date], [hits_eventInfo_Category], [hits_eventInfo_Action], [session_id], [user_id], [hits_time], [hits_eventInfo_Label]
FROM [BigQuery]
GROUP BY [date], [hits_eventInfo_Category], [hits_eventInfo_Action], [session_id], [user_id], [hits_time], [hits_eventInfo_Label]
注意:这不会删除您的重复数据,它只是不会显示在您的select语句的结果中。如果您希望永久删除重复的条目,请使用@singhsac使用窗口函数的响应。
答案 1 :(得分:1)