如何编写适用于具有时差的 DATE 字段的 SELECT DISTINCT
How to write SELECT DISTINCT that works on DATE fields with time differences
有谁知道如何编写 SELECT DISTINCT 语句,以便将蓝色圈出的行视为重复行?目前,在日期级别,它们是重复的但它们有时间差异
SELECT ID, PHN_NO, DATE_CREATED, DATE_MODIFIED FROM USER_PHONE_HISTORY
WHERE PHONE_NUMBER = '1234567890'
ORDER BY START_DATE DESC;
-- 12 条记录
SELECT DISTINCT ID, PHN_NO, DATE_CREATED, DATE_MODIFIED FROM USER_PHONE_HISTORY
WHERE PHONE_NUMBER = '1234567890'
ORDER BY START_DATE DESC;
-- 12 条记录
如果我没理解错的话,你可能想要这样的东西
select distinct id, phn_no, trunc(date_created) as date_created,
trunc(date_modified) as date_modified
from user_phone_history
where .......
order by .......
或其一些简单的修改(不清楚您必须处理哪个日期 - 这处理 两者)。
我不确定你为什么要这样做,但我想你有你的理由......
有谁知道如何编写 SELECT DISTINCT 语句,以便将蓝色圈出的行视为重复行?目前,在日期级别,它们是重复的但它们有时间差异
SELECT ID, PHN_NO, DATE_CREATED, DATE_MODIFIED FROM USER_PHONE_HISTORY
WHERE PHONE_NUMBER = '1234567890'
ORDER BY START_DATE DESC;
-- 12 条记录
SELECT DISTINCT ID, PHN_NO, DATE_CREATED, DATE_MODIFIED FROM USER_PHONE_HISTORY
WHERE PHONE_NUMBER = '1234567890'
ORDER BY START_DATE DESC;
-- 12 条记录
如果我没理解错的话,你可能想要这样的东西
select distinct id, phn_no, trunc(date_created) as date_created,
trunc(date_modified) as date_modified
from user_phone_history
where .......
order by .......
或其一些简单的修改(不清楚您必须处理哪个日期 - 这处理 两者)。
我不确定你为什么要这样做,但我想你有你的理由......