我向你介绍了我处理过的列条件下DISTINCT值的问题,但我无法提供任何解决方法。
问题是我这里有两个斯蒂芬,但我不想重复:问题:
id vehicle_id worker_id user_type user_fullname
9 1 NULL external_users John Dalton
10 1 16 employees Mike
11 1 1 employees Stephen
12 2 173 employee Nicholas
13 2 1 employee Stephen
14 1 NULL external_users Peter
**
所需输出:**
id vehicle_id worker_id user_type user_fullname
9 1 NULL external_users John Dalton
10 1 16 employees Mike
12 2 173 employee Nicholas
13 2 1 employee Stephen
14 1 NULL external_users Peter
我试过CASE语句,但没有成功。当我按worker_id分组时,它删除了另一个重复项,所以我发现它需要按一些特殊条件分组。如果有人能给我一些提示,我将如何解决这个问题,我将非常感激。
谢氏!
1条答案
按热度按时间6psbrbz91#
此表中没有重复的行。Stephen出现两次并不会使它们重复,因为ID、VEHICLE_ID和USER_TYPE不同。
您需要做的是决定如何标识您希望在输出中看到的Stephen记录。它是否是具有最高VEHICLE_ID的记录?“最新”记录,即具有最高ID的记录?
您将在窗口函数中使用该规则对条件中的行进行排序,然后使用行号筛选出您想要的结果。