I'm using a database to store results of an election with the columns id, candidate, post\_time and result. Results are put in the database during 'counting the votes'. When a new update is available, a new entry will be inserted.

From this database, I would like to create a table with the most recent results (`MAX post_time`) per candidate (`GROUP BY` candidate), ordered by result (`ORDER BY` result).

How can I translate this to a working SQL-statement? 

(I've tried [mysql order and groupby](https://stackoverflow.com/questions/3306810/mysql-order-and-groupby) without success)

I've tried:

```
SELECT *, MAX(time_post) 
FROM [database] 
GROUP BY candidate 
HAVING MAX(time_post) = time_post 
ORDER BY result

```