[英]Oracle SQL select multiple columns distinct values in one query with pagination requirement for each column based on distinct value
[英]Select distinct by one column in Oracle but displaying multiple columns too
我有这个查询:
select DISTINCT cpc.EXTRACT_ID, cpc.OS_ID,...,cpvi.VOYAGE_STRT_DT,
cpob.FISCAL_MONTH_START_DT from CPOB_PROCESS_CTRL cpc
inner join CPOB_PLY_OUTSTD_BAL cpob on cpc.BRAND_NAME
= cpob.BRAND_ID and cpc.SHIP_NAME = cpob.SHIP_NAME
inner join CPOB_VOYAGE_INFO cpvi on cpc.VOYAGE_ID = cpvi.VOYAGE_ID
问题是我希望列cpc.EXTRACT_ID
不在结果上重复。 当我只在查询中选择cpc.EXTRACT_ID
时,结果是准确的,并且查询中不包含cpc.EXTRACT_ID
重复结果
select DISTINCT cpc.EXTRACT_ID from CPOB_PROCESS_CTRL cpc
inner join CPOB_PLY_OUTSTD_BAL cpob on cpc.BRAND_NAME
= cpob.BRAND_ID and cpc.SHIP_NAME = cpob.SHIP_NAME
inner join CPOB_VOYAGE_INFO cpvi on cpc.VOYAGE_ID = cpvi.VOYAGE_ID
但是我在结果中也需要其他字段,我不在乎是否要重复其他字段,只需cpc.EXTRACT_ID
。 如何将第一个脚本更改为期望的结果?
如果您不关心其他列,请汇总它们,例如
select cpc.EXTRACT_ID,
max(cpc.OS_ID) os_id,
max(cpvi.VOYAGE_STRT_DT) voyage_strt_dt,
max(cpob.FISCAL_MONTH_START_DT) fiscal_month_start_dt
from ...
group by cpc.extract_id
如果这不是您想要的,请发布一些示例数据和所需结果。 这可能会帮助我们为您提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.