Right now I have the following query:
SELECT name, COUNT(name), time, price, ip, SUM(price) FROM tablename WHERE time >= $yesterday AND time <
Replacing FROM tablename with FROM (SELECT DISTINCT * FROM tablename) should give you the result you want (ignoring duplicated rows) for example:
FROM tablename
FROM (SELECT DISTINCT * FROM tablename)
SELECT name, COUNT(*) FROM (SELECT DISTINCT * FROM Table1) AS T1 GROUP BY name
Result for your test data:
dave 2 mark 2