Zapytanie SQL, wybierając 5 najnowszych w każdej grupie

Mam ten stół

CREATE TABLE `codes` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `language_id` int(11) unsigned NOT NULL,
 `title` varchar(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
 `time_posted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

language_id odnosi się do języka, w którym znajduje się rekord. Chciałbym pobrać listę pięciu ostatnich rekordów (ORDER BY time_posted DESC LIMIT 5)w każdym id_ językowym. Mógłbym to zrobić w pętli w PHP z wieloma różnymi zapytaniami SQL, ale wydaje mi się, że jest prostszy sposób.

Muszę dostać książkę na temat SQL, haha.

Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion