Get all distinct values from column1 in case of 2 similar rows, get the one with column2 not null

173 Views Asked by At

I have a large table as dataset. If there are 2 similar rows with same date and id then how do I get the row for which another column value is not null?

SELECT *, row_number() 
   over (partition by id order by date desc) rowNumber 
FROM table where rowNumber = 1;
2

There are 2 best solutions below

0
MKM On BEST ANSWER

Ordering by the column which has 2 values(1 row with null and 1 without null) helped

default ordering is ascending and NULLS LAST is the default for ascending order and rowNumer=1 would give the row without null

0
Pralhad K On

Please try this query:

select * from table where (id, date) in 
(select id, date from table group by id, table having count(1) > 1) 
and value is not null;