Identity、RecordId、Type、Reading、および IsDeleted 列を持つテーブルがあります。Identity は自動インクリメントの主キー、RecordId は重複値を持つことができる整数、Type は「1」または「平均」の読み取りのタイプ、Reading は任意の整数値を含む整数、IsDeleted はそのビットです。 0 または 1、つまり false または true を指定できます。ここで、各 RecordId の COUNT(Id) が 2 より大きい場合にその RecordId のすべてのレコードを表示するような方法で、テーブルのすべてのレコードを含むクエリが必要です。
その特定の RecordId の COUNT(Id) == 2 と、レコードの「1」タイプまたは「平均」タイプの両方の Reading 値が同じである場合、平均レコードのみを表示します。
COUNT(Id) ==1 の場合、そのレコードのみを表示します。
例えば :
Id RecordId Type Reading IsDeleted
1 1 one 4 0
2 1 one 5 0
3 1 one 6 0
4 1 average 5 0
5 2 one 1 0
6 2 one 3 0
7 2 average 2 0
8 3 one 2 0
9 3 average 2 0
10 4 one 5 0
11 4 average 6 0
12 5 one 7 0
答えの結果は
Id RecordId Type Reading IsDeleted
1 1 one 4 0
2 1 one 5 0
3 1 one 6 0
4 1 average 5 0
5 2 one 1 0
6 2 one 3 0
7 2 average 2 0
9 3 average 2 0
10 4 one 5 0
11 4 average 6 0
12 5 one 7 0
つまり、同じ値の平均読み取り値と、「1」タイプの読み取りのカウントが1を超えない「1」タイプの読み取りをスキップしたいと思います。