I have a table like this

+-----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+----------------+
| id | int(3) | | PRI | NULL |
auto_increment |
| idTable | int(3) unsigned | | | 0 | |
| title | varchar(150) | YES | | NULL |
|
| description | varchar(150) | YES | | NULL | |
| date | datetime | YES | | NULL | |
+-----------+---------------------+------+-----+---------+----------------+

I want to make a select statement that show me the latest 10 rows from
this table without repetition on the idTable field, idTable is a foreing key from TableTest2, and I want that it just show me for
each idTable the latest row from TableTest2. I tried something like this:

SELECT TestTable.id, TestTable.idTable, TestTable.title, TestTable.description, TestTable.date, TestTable2.name FROM TestTable, TesteTable2 where TestTable.idTable = TestTable2.id GROUP BY TestTable.idTable ORDER BY date DESC;

But it didn't return the latest rows for each idTable.

could someone help me?