2010-04-07 30 views
0
Status Time   Handel Title 

---------  ------------  ------  ------------- 
CREATED 2009-10-16 03:37:38+01 902D8 Mozilla Firefox 
ACTIVATED 2009-10-16 03:37:38+01 902D8 -?- 
ACTIVATED 2009-10-16 03:37:41+01 902D8 -?- 
ACTIVATED 2009-10-16 03:37:41+01 E030E Windows Live Messenger 
DESTROYED 2009-10-16 03:37:42+01 E030E Windows Live Messenger 
ACTIVATED 2009-10-16 03:37:42+01 902D8 -?- 
DESTROYED 2009-10-16 03:37:53+01 902D8 -?- 

我希望基於「漢德爾列」和「標題列」的不同值。例如,韓德爾:902D8和標題:? - - 應該只出現一次使用兩列的組合獲得不同的行

以上數據查詢的結果應該是

Status Time    Handel Title 
--------- ------------   ------ ------------- 
CREATED 2009-10-16 03:37:38+01 902D8 Mozilla Firefox 
ACTIVATED 2009-10-16 03:37:38+01 902D8 -?- 
ACTIVATED 2009-10-16 03:37:41+01 E030E Windows Live Messenger 

非常感謝。

+1

哪'Status'和'Time'值,你需要什麼? – Heinzi 2010-04-07 08:16:44

+0

根據上面給出的例子,您需要找到第一個類似數據(即2009-10-16 03:37:38 + 01)和ot(2009-10-16 03:37:41 + 01)的時間。 請使用下面給出的答案的第一個查詢。 – Salil 2010-04-07 08:23:03

+0

地位和時間並不重要,我要的只是:具有相同標題的漢德爾變得截然不同。例如(902D8和 - ? - 應該只出現一次)謝謝。 – HTMZ 2010-04-07 08:23:57

回答

1
select * from table where id in (select min(id) from table group by handle, title) 

OR

select * from table where id in (select max(id) from table group by handle, title) 
+1

如果環境支持它們(DB2和Oracle),使用OLAP函數(也稱爲分析函數)可以獲得更高效的解決方案,但從我們正在討論ms訪問的標籤判斷你的答案是我認爲最好的。 – 2010-04-07 08:24:51

+0

@ Salil - 我添加了主鍵,並且與它一起工作,雖然執行速度很慢,但爲我工作。非常感謝。 – HTMZ 2010-04-07 09:23:29

+0

@Andrea Polci:MS-ACCESS標籤可能意味着前端是Access,而後端數據存儲幾乎是任何現有的數據庫引擎,因此,如果不提供給特定的提問者,那麼提及OLAP函數可能會有所幫助,可能對稍後有人提出質疑。 – 2010-04-07 21:06:37

相關問題