根据两列重复值找出唯一的***记录[重复]
Posted
技术标签:
【中文标题】根据两列重复值找出唯一的***记录[重复]【英文标题】:Find out unique top record based on two columns duplicate value [duplicate] 【发布时间】:2021-09-22 07:26:33 【问题描述】:以下是一些数据
现在我想只检索那些具有唯一 current_position_latitude 和 current_position_longitude 和 top 记录的记录,方法是使用 sys_movement_evt_id 的 order by。这低于我需要的输出。
我当前的查询是
select
CURRENT_POSITION_LATITUDE,
CURRENT_POSITION_LONGITUDE,
SYS_EVT_TARGET_ID,
SYS_MOVEMENT_EVT_ID
from TMS_MOVEMENT_EVT
where SYS_EVT_TARGET_ID = 10245 and
CURRENT_POSITION_LATITUDE is not null and CURRENT_POSITION_LATITUDE != 0 and
CURRENT_POSITION_LONGITUDE is not null and CURRENT_POSITION_LONGITUDE != 0
请告诉我如何实现所需的输出。
【问题讨论】:
【参考方案1】:您可以使用 RANK() 函数实现此目的
with CTE_DATA AS (
SELECT
CURRENT_POSITION_LATITUDE,
CURRENT_POSITION_LONGITUDE,
SYS_EVT_TARGET_ID,
SYS_MOVEMENT_EVT_ID
RANK() OVER(PARTION BY CURRENT_POSITION_LATITUDE,
CURRENT_POSITION_LONGITUDE
ORDER BY SYS_MOVEMENT_EVT_ID DESC) LAT_RANK
FROM TMS_MOVEMENT_EVT
)
SELECT
CURRENT_POSITION_LATITUDE,
CURRENT_POSITION_LONGITUDE,
SYS_EVT_TARGET_ID,
SYS_MOVEMENT_EVT_ID
FROM CTE_DATA
WHERE LAT_RANK = 1
Some info on using RANK()
【讨论】:
以上是关于根据两列重复值找出唯一的***记录[重复]的主要内容,如果未能解决你的问题,请参考以下文章