SQL: Agrupe los loggings y luego obtenga el último logging de cada grupo?

Posible duplicado:
SQL Server: solo la última input en GROUP BY

Tengo una table como esta:

id| name | attendence 1 | Naveed| 1 2 | Naveed| 1 3 | Adil | 1 4 | Adil | 1 

Yo uso la siguiente consulta:

 SELECT * FROM `test` WHERE `attendence`=1 GROUP BY name 

El resultado con la consulta anterior:

 id| name | attendence 3 | Adil | 1 1 | Naveed | 1 

Pregunta:

Encima de las filas del grupo de resultados por nombre pero muestra la primera fila de cada grupo. Quiero seleccionar la última fila (por id) de cada grupo.

Por ejemplo:

 id| name | attendence 2 | Naveed | 1 4 | Adil | 1 

Cómo escribir la consulta para el resultado anterior.

Gracias

 SELECT a.* FROM test a WHERE a.attendence = 1 AND NOT EXISTS (select 1 from test where name = a.name and id > a.id and attendence = 1) GROUP BY name 

Puede que ya ni siquiera necesite al grupo.

 SELECT MAX("id"), "name" FROM "test" WHERE "attendence" = 1 GROUP BY "name" 
 SELECT Name, Max(ID) FROM table WHERE attendance = 1 GROUP BY Name 

Use la siguiente consulta:

 SELECT * FROM `test` WHERE `attendence`=1 GROUP BY name ORDER BY `id` DESC LIMIT 1 

Eso solo seleccionará la fila que cumpla con los criterios con la identificación más alta.