Если текущая версия СУБД поддерживает оконные функции - то
ROW_NUMBER() в CTE и отбор по
rn=1 во внешнем запросе.
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY list_name ORDER BY date DESC) rn
FROM table
)
SELECT *
FROM cte
WHERE rn = 1
Если не поддерживает - агрегирующий подзапрос, который для каждой категории получает максимальную дату, и отбор записей по этим значениям из другой копии таблицы.
SELECT t1.*
FROM table t1
NATURAL JOIN (
SELECT list_name, MAX(date) date
FROM table
GROUP BY 1
)
Оба запроса предполагают уникальность
(list_name, date).