SQL照会でHouseNameという名前の重複を排除することによって、C#コードを少し保存しようとしています。私はGROUP BY
句を使用する必要があると思います。なぜなら、存在する複製の数を欲しいからです。私は9つのフィールドを引っ張っていますが、そのうちの1つだけが集合体です。しかし、私はまた、各行のプライマリキーを取得したい。これをGROUP BY
のステートメントに含めると、IDは明らかに異なるので、もはやHouseNameの別個のデータを取得しません。ここではどのような作品の抜粋です:GROUP BY別のレコードを与えない
SELECT HouseName, COUNT (HouseName) AS numRuns, PrimaryVideoSource, EventType
From...
GROUP BY HouseName, PrimaryVideoSource, EventType
私はグループ化では、これらの最後の2つのフィールドが含まれていない場合、それはエラーがスローされますが、これは、動作します。それでは、非集約フィールドをGROUP BY
に含める必要があります。
しかし、私は主キーを引っ張るしたい場合は、ここではその文だ:
SELECT HouseName, COUNT (HouseName) AS numRuns, PrimaryVideoSource, EventType, EventUniqueID
From...
GROUP BY HouseName, PrimaryVideoSource, EventType, EventUniqueID
今私は主キーを取得していないんだけど、私はもはや明確なHouseNamesを取得しています。私は重複を取り戻している。
GROUP BY
ステートメントを使用して別のHouseNameフィールドを失うことなくプライマリキーを含めるにはどうすればよいですか?
私はCount(HouseName)を手放すことをあきらめて、DISTINCT
というステートメントを使用しますが、カウントを保持するのが良いでしょう。試したときに別のエラーメッセージが表示されたようですとにかく
これに関するサンプル入力と出力は何ですか?予想される結果を100%理解しているかどうかはわかりません。 –
プライマリキーによるグループのカウントは毎回1になります – Paparazzi
2つの異なる 'EventUniqueID'を持つ同じ' HouseName'を持つ場合、どのEventUniqueIDを選択しますか?あなたは両方を持つことはできませんし、ユニークなリストを持っていることはできません –