2010-02-10 186 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