2017-05-04 9 views
0

複数の複製があるビューがあります。私は1つの重複を取得したい。その複製を抽出する条件はありません。複数の複製のレコードを1つ取得するには

ビュー:

State|ZIP|Sales 
AZ 231 asdas 
AZ 231 qwerq 
FL 12 wqeq 
FL 12 lak 
KY 1 zxc 
KY 1 qwe 

予想される出力:

State|ZIP|Sales 
AZ 231 asdas 
FL 12 wqeq 
KY 1 zxc 

5000件の以上のレコードがあります。あなたが別のものを使っているのであれば、私はビューから抽出しようとしているフィールドと同じデータセットを与えますが、それはレコードが大きく異なるわけではありません。

ありがとうございます。多くの値のいずれかがあなたに許容可能であるので、あなたは、このために凝集を使用することができます

select state, ZIP, min(Sale) 
from my_table 
group by state, ZIP 

または最大長

select state, ZIP, max(length(Sale)) 
from my_table 
group by state, ZIP 
+1

なぜあなたは「AZ 231 asdas」を望んでいないのですか?他の行と同じです。これらの行を選択するロジックを提供する必要があります。 – ollie

+0

2のいずれかが問題ありません。私はちょうど前のものと同じようにそれらを表示することを選んだ。私はなぜそれらを得る方法を得ることができないのかという論理はありません。さらに、これらのフィールドはvarchar(Cantは最大限の機能を置くことさえできます)です。 @ollie – qwerty

+0

varcharカラムで集約を使用できますか?試しましたか? – ollie

答えて

4

+0

これはvarcharフィールドです... put max max – qwerty

+1

@Rahul - できます。 – GurV

+0

group by関数はselect句と同じフィールドを持つ必要がありますか? @Rahulはい。 – qwerty

1

方法がして、グループに基づいて集計関数の例することができ:

select state, zip, max(sales) 
from your_table 
group by state, zip 
+0

文字フィールドに集計関数を置くことはできません@scaisEdge – qwerty

+0

最大長を使用することができますし、とにかく文字列に集計関数を使用することができます – scaisEdge

+0

関数ごとのグループにはselectステートメントと同じ数のフィールドがあるはずです@ scaisEdge – qwerty

関連する問題