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
)