tags:

views:

123

answers:

1
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

What is the sql query to select Project_Id based on following input :

  1. for the given username
  2. order by Activity_Time - latest first
  3. distinct Project_Id
  4. only 10 rows

I tried few queries nothing worked, so seeking help here. Currently H2 database is used but it would change over a period.

[Update] This is a true project requirement, not a home work, am a newbie, please don't make fun, am learning the stuffs.

+6  A: 

This should be a good start if not completely working ...

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
Gaby
Following exception thrown when the above query is executed :Order by expression ACTIVITY_TIME must be in the result list in this case; SQL statement:
novice
try the updated answer...
Gaby
The DISTINCT is now not needed.
JBrooks
very true .. removing it :)
Gaby