2014-07-24 56 views
1

我有一個包含13列的數據列表。感興趣的列是ClientID列。現有列表對於每個ClientID都有多行。相同ClientID的行可以通過其他13列中的一列或多列中的值彼此不同。高效訪問SQL從表中返回每個唯一的ClientID中的一個

我需要的是一個查詢,它將從每組相同的ClientID中僅返回一個ClientID。我不關心哪個行被返回,但我需要返回每個不同的ClientID中的一個並且只返回其中一個,以及返回的行的其他12個列中的值。

我有一個解決這個問題的作品,但我的解決辦法似乎悍然繁瑣 - 即55線SQL,因爲我要反覆枚舉列,做子查詢,做工會等

有更高效的Access 2013(或2010)SQL來完成這個優雅嗎?

下面是一個(簡化)數據集,就像我正在處理的一樣;我先從以下tblClientData:

ClientID Last First Sex DOB  AreaCd Chrt CtYr Status Risk WNA DpID SpID 
------------------------------------------------------------------------------------------------ 
6244  Junk Alpha F 1952 Null Null 2014 Assnd High BB 1149 Null 
6244  Junk Alpha F 1952 (333) Null 2014 Wait High DW 1148 901 
6244  Junk Alpha F 1952 (437) Null 2014 Wait Medm Nul 1130 Null 
6253  Jezz Hejunk M 1916 (263) 90B3 2013 Refrd High NC 1157 901 
6253  Jezz Hejunk M 1916 (263) 90B3 2013 Closed Low  NC 1158 703 
6287  Fish Gohh M 2007 (911) X117 2008 Assnd Medm Nul 1018 807 

我希望訪問2013的SQL有效地產生類似以下內容(返回哪一行並不重要,只要一個只有返回每個客戶端ID之一):從yourtable 組

ClientID Last First Sex DOB  AreaCd Chrt CtYr Status Risk WNA DpID SpID 
------------------------------------------------------------------------------------------------ 
6244  Junk Alpha F 1952 (333) Null 2014 Wait High DW 1148 901 
6253  Jezz Hejunk M 1916 (263) 90B3 2013 Closed Low  NC 1158 703 
6287  Fish Gohh M 2007 (911) X117 2008 Assnd Medm Nul 1018 807 
+0

你想返回一個實際存在的行?或者它可以是來自任何代表相同ClientID的行的任何值? – VBlades

+0

在這種情況下,它可以是來自表示相同ClientID的任何行的任何值。 – DRC

回答

0

我不熟悉的訪問SQL,但在大多數其它SQL的,group by子句是你應該

Select * from table group by ClientID 

在訪問開始的東西,似乎在選擇所有的列必須是通過列表或聚合函數組,所以在:

Select ClientID, first(Col1), first(Col2) from table group by ClientID 

也許是接近你想要什麼

+0

Brilliant!我並不知道第一個功能,這似乎只是第一個分組項目。這比我使用的55行SQL短得多。 SQL現在只有15行。非常感謝你的幫助。 – DRC

0

選擇客戶端ID通過客戶端ID只有

返回客戶端ID。

+0

我需要返回所有列,而不僅僅是ClientID列。我只需要每個ClientID一行,但對於那一行我需要所有列。 – DRC

+0

只要注意你使用這些列的方式......你不知道你將得到哪一行,所以不能依賴實際的數據。我現在看到Access沒有information_schema的等價物,所以如果你需要列名的話,沒有更好的辦法來做到這一點。 – KingOfAllTrades

+0

您還可以繼續將字段添加到group by子句並獲得所需的結果。 '從表格組中選擇col1,col2,col3 by col1,col2,col3' – KingOfAllTrades

相關問題