2017-07-28 10 views
0

をから取得しようとしています。 Min(KeyLocationID)を除外し、他のリストが必要です。最小値以外のすべてのIDを取得する

select CompanyID, Location, EventCode, count(*) as NumberOfDuplicates, min(KeyLocationID) as KeepThisOne 
from trip.KeyLocations 
group by CompanyID, Location, EventCode 
having count (*) > 1 
order by location asc 
+1

によって1つの 順序は 'KeyLocationID>分(KeyLocationID)' –

答えて

0

あなたがここで欠けているものはどこですか? これを行うには、いくつかの方法がここにありますが、いくつかの例は以下のとおりです。 @nobody によって推薦したりあなたができるよう:

あなたができる
select CompanyID, Location, EventCode, count(*) as NumberOfDuplicates, 
min(KeyLocationID) as KeepThisOne 
from trip.KeyLocations 
group by CompanyID, Location, EventCode 
having KeyLocationID > min(KeyLocationID) 
order by location asc 

OR:

select CompanyID, Location, EventCode, count(*) as NumberOfDuplicates, 
min(KeyLocationID) as KeepThisOne 
from trip.KeyLocations 
group by CompanyID, Location, EventCode 
having KeyLocationID != MIN(KeyLocationID) 
order by location asc 
+1

GROUP BY' '前残念ながら、これらの両方のリターンを含む:総計が表示されないことがWHERE節がHAVING句または選択リストに含まれるサブクエリに含まれていない場合、集約される列が外部参照である場合を除きます。 –

+0

あなたは正しいです、申し訳ありません。あなたはそれらを持っている必要があります... –

+0

例があります、私はあなたが意味するものに慣れていません –

0

企業ID、場所を選択し、 EventCode、count()as NumberOfDuplicates from trip.KeyLocations KeyLocationIDには含まれていません(CompanyID、Location、EventCodeによるtrip.KeyLocationsグループからのmin(KeyLocationID)の選択) 、EVENTCODE カウント()を有する企業ID、場所によってグループ>位置ASC

関連する問題