audit_table
might contain repeated userId
.
We have following SQL query
SELECT userId FROM audit_table GROUP BY userId HAVING MIN(updatedDate) > ?;
updatedDate
field might be null and for case when all rows in audit_table
for concrete userId
contains only nulls I don’t see these rows but I want.
Is there way to acheve it ?
Advertisement
Answer
One method is an explicit comparison:
SELECT userId FROM audit_table GROUP BY userId HAVING MIN(updatedDate) > ? OR MIN(updatedDate) IS NULL;
Another method is to count the updatedDates
that are less than ?
or NULL
:
HAVING COUNT(*) FILTER (WHERE updatedDate <= ?) = 0;