sql时间不去重其他的去重
时间: 2023-09-16 18:16:15 浏览: 79
在Hive SQL中,如果你只想去除时间重复而保留其他列的数据,你可以使用ROW_NUMBER() OVER函数来实现。这个函数可以根据指定的列进行分组,并为每个分组的行分配一个唯一的行号。你可以在查询中使用ROW_NUMBER() OVER函数,并将它与其他列一起选择,以确保仅去除时间重复而保留其他列的数据。举个例子,假设你有一个名为person_appear_record的表,包含id、face_id和appear_time三列,你可以使用以下代码实现时间不去重而其他列去重的查询:
SELECT id, face_id, appear_time
FROM (
SELECT id, face_id, appear_time, ROW_NUMBER() OVER (PARTITION BY appear_time ORDER BY id) AS row_num
FROM person_appear_record
) t
WHERE row_num = 1;
这个查询将基于appear_time列进行分组,并为每个不同的appear_time值分配一个唯一的行号。然后,我们选择行号为1的行,这样就只会保留每个appear_time值中的第一行,而其他重复的行会被去除。这样,你就可以实现时间不去重而其他列去重的查询。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [SQL:数据去重的三种方法](https://blog.csdn.net/qq_35091353/article/details/127805844)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* [【数据分析】sql实现数据固定时间间隔去重!!!](https://blog.csdn.net/weixin_37598243/article/details/127797392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文