¿Cuál es la consulta SQL para esto?

Id Project_Id Activity_Time Username 1 100 2008-01-01 11:12:13 A 2 100 2008-01-01 00:00:00 B 3 500 2008-02-01 00:00:00 C 4 300 2008-02-03 00:00:00 D 5 500 2008-03-03 11:11:11 A 6 300 2008-04-04 00:00:00 D 7 500 2008-05-05 00:00:00 C 8 200 2008-06-06 00:00:00 D 9 100 2009-01-01 11:12:13 A 10 300 2010-01-01 01:02:03 A 

¿Cuál es la consulta SQL para seleccionar Project_Id en function de la siguiente input?

  1. para el nombre de usuario dado
  2. order por Activity_Time – último primero
  3. distinct Project_Id
  4. solo 10 filas

Intenté algunas consultas, nada funcionó, así que busqué ayuda aquí. Actualmente se usa la database H2, pero cambiaría durante un período.

[Actualización] Este es un verdadero requisito del proyecto, no es un trabajo a domicilio, soy un novato, por favor no te burles, estoy aprendiendo las cosas.

Este debería ser un buen comienzo si no funciona por completo …

 SELECT TOP 10 project_ID, max(activity_time) as activity_time FROM table_name WHERE username = usernameVariable GROUP BY project_id ORDER BY activity_time DESC