我必须从配置单元表中查找记录,其中id、der\u timestamp、header\u change\u seq应该是唯一的,但在表中(id、der\u timestamp、header\u change\u seq)可以重复,因此在这种情况下,如果记录重复,我只能获取一条记录。
select b.*
from (SELECT ID, max(COALESCE(header__timestamp))
max_modified,MAX(CAST(header__change_seq AS DECIMAL(38,0))) max_sequence
FROM table_name group by ID) a
join table_name b on (a.id=b.id and
a.max_modified=b.header__timestamp and
a.max_sequence=b.header__change_seq)
因此,distinct id的总数是count-->244441250,但是通过上面的查询,我得到count-->244442548,因为有一些重复的记录,但是我必须只找到distinct id,其中(header\u change\u seq和header\u timestamp)应该最大。
1条答案
按热度按时间goqiplq21#
@拉胡尔;请试试这个。它使用了row\ u number(),因此在重复id、header\ u timestamp和hearder\ u change\ seq的情况下,它将只选择一条记录。希望有帮助。