What is the sql query for this?

旧时模样 提交于 2019-12-12 21:05:49

问题


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.


回答1:


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


来源:https://stackoverflow.com/questions/2237933/what-is-the-sql-query-for-this

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!