Q:

Update flag for columns with max date PER group

Imagine the following table:
Id      type       created                      flag
-----------------------------------------------------
1          1        2015-12-11 12:00:00          0
2          1        2015-12-11 12:10:00          0
3          2        2015-12-11 12:00:00          0
4          2        2015-12-11 12:10:00          0
5          3        2015-12-11 12:00:00          0
6          3        2015-12-11 12:10:00          0
--------------------------------------------------------

I want to write a query that will set the flag to 1 (TRUE) for each row with the most recent created date for each type grouping. Ex, the result should be:
Id      type       created                      flag
-----------------------------------------------------
1          1        2015-12-11 12:00:00          0
2          1        2015-12-11 12:10:00          1
3          2        2015-12-11 12:00:00          0
4          2        2015-12-11 12:10:00          1
5          3        2015-12-11 12:00:00          0
6          3        2015-12-11 12:10:00          1
--------------------------------------------------------

I know that 
UPDATE table
SET flag = TRUE
ORDER BY created DESC
LIMIT 1;

will set the flag for the most recent date, but I'm stuck on how to apply this for each group.
I've also tried:
UPDATE table t
INNER JOIN 
    (SELECT id, flag, MAX(created) as maxdate
    FROM table
    GROUP BY type) as m
SET flag = TRUE
WHERE m.id = t.id AND t.created = m.maxdate;

A:

Maybe try something like this:
UPDATE table SET flag = 1 
WHERE id IN(SELECT id FROM(SELECT id, type FROM table 
ORDER BY created DESC) AS t GROUP BY type t.type);

