The following statement is not correct.
select name,COUNT(*) from t1 having COUNT(*)>=1 group by name
This one is, since having is a condition that applies to the interim result after aggregation:
select name, COUNT(*) from t1 group by name having COUNT(*)>=1
But as COUNT(*) won't give 0 in this case, HAVING is no use:
select name, COUNT(*) from t1 group by name
But if you don't need the count, simply use:
select distinct name from t1