I like this trick that uses the aggregation function GROUP_CONCAT and FIND_IN_SET:
SELECT
Tablename.*
FROM
Tablename INNER JOIN (
SELECT `group`, GROUP_CONCAT(id ORDER BY id) ids
FROM Tablename
GROUP BY `group`) grp ON
Tablename.`group` = grp.`group` AND
FIND_IN_SET(Tablename.id, ids)<=2
ORDER BY
Tablename.`group`, Tablename.id
, .
:
SELECT t1.id, t1.`group`, t1.data
from
Tablename t1 INNER JOIN Tablename t2
ON t1.`group` = t2.`group` AND t1.id>=t2.id
GROUP BY
t1.id, t1.`group`, t1.data
HAVING
COUNT(*)<=2
ORDER BY
t1.`group`, t1.id, t1.data