2010-02-10 99 views
2
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 

什么是sql查询基于以下的输入选择PROJECT_ID这是什么SQL查询?

  1. 指定用户名
  2. 为了通过Activity_Time - 最新第一
  3. 不同的PROJECT_ID
  4. 只有10行

我试了几个querie没有任何工作,所以在这里寻求帮助。 目前使用H2数据库,但会在一段时间内发生变化。

[更新]这是一个真正的项目需求,而不是一个家庭作业,是一个新手,请不要开玩笑,正在学习的东西。

+0

什么是数据库管理系统? – 2010-02-10 15:27:47

+1

你期望看到的样本会比你想要的描述更好。 – Welbog 2010-02-10 15:29:04

+8

看起来像功课怀疑。 – Timothy 2010-02-10 15:29:22

回答

7

这应该是一个良好的开端,如果不是完全的工作...

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 
+1

执行上述查询时抛出以下异常: 按照表达式ACTIVITY_TIME的顺序必须位于结果列表中。 SQL语句: – novice 2010-02-10 16:10:35

+0

尝试更新的答案... – 2010-02-10 16:32:53

+1

现在不需要DISTINCT。 – JBrooks 2010-02-10 16:53:49