繁体   English   中英

如何比较同一列的两行

[英]How to compare two rows with same column

我有如下数据。 我需要根据 PART_KEY_ID 比较 ATTRIBUTE1_TXT。 如果两个日期相同,我需要那个 PART_KEY_ID。

PART_KEY_ID ATTRIBUTE1_TXT
504277          JUL 2019 (201)
504277          JUL 2019 (201)
5493605         JUL 2019 (201)
5493605         JUN 2018 (191)
4585233         JUL 2019 (201)
4585233         JUL 2019 (201)
6192893         JUL 2019 (201)
6192893         JUN 2018 (191)

所以 output 应该是。

PART_KEY_ID
504277
4585233
select PART_KEY_ID 
from your_table
group by PART_KEY_ID 
having count(distinct ATTRIBUTE1_TXT) = 1

这应该做你想要的:

select part_key_id
from t
group by part_key_id
having min(ATTRIBUTE1_TXT) = max(ATTRIBUTE1_TXT);

这应该工作

select PART_KEY_ID from(select ATTRIBUTE1_TXT ,max(PART_KEY_ID),count(*) from table  group by ATTRIBUTE1_TXT having count(*) >1)t;
   --this will work 
  --if you got three similar  ATTRIBUTE1_TXT for one PART_KEY_ID you can replace 
  ----having count(*)=2 in cte to having count(*)=3

   ;with cte as (
    select count(*) c,PART_KEY_ID,ATTRIBUTE1_TXT
    from table
    group by PART_KEY_ID,ATTRIBUTE1_TXT
    having count(*)=2
    ) 

    select PART_KEY_ID
    from cte

试试这个查询,我认为它应该满足你的需要。

SELECT PART_KEY_ID
FROM table_name
GROUP BY PART_KEY_ID, ATTRIBUTE1_TXT
HAVING COUNT(*) > 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM