You need a way to distinguish the rows. Based on your comment, you could use the special rowid column for that.
To delete duplicates by keeping the lowest rowid
per (hash,d)
:
delete from YourTable
where rowid not in
(
select min(rowid)
from YourTable
group by
hash
, d
)