2012-03-13 3 views
1

私の質問は非常に簡単だと確信していますが、わかりませんし、答えを探すのが難しいものの1つです。私はあなたが助けることを願っています私は(簡易データ)は、次のしているSQLのテーブルに一致する最大値の値を置換するビュー

UserID UserIDX Number Date 
aaa  bbb  1  21.01.2000 
aaa  bbb  5  21.01.2010 
ppp  ggg  9  21.01.2009 
ppp  ggg  3  15.02.2020 
xxx  bbb  99  15.02.2020 

そして、私はそこに、私のレコードの同じ量を与えるが、ユーザーIDとUserIDXのあらゆる組み合わせのためになるビューを必要としますNumberフィールドの下に1つの値、つまり組み合わせデータセットにある最高値でなければなりません。日付フィールドは変更しないでください。ユニーク数が9

ありがとうございあるGGG、そう

UserID UserIDX Number Date 
aaa  bbb  5  21.01.2000 
aaa  bbb  5  21.01.2010 
ppp  ggg  9  21.01.2009 
ppp  ggg  9  15.02.2020 
xxx  bbb  99  15.02.2020 

AAA + BBBの組み合わせのすべてのインスタンスの数に一意の値が5であることと、PPP +のためにする必要がありますので、上記に変換されるだろうとても。高速応答デレクため

レオは

答えて

0
select userid,useridx,maxnum,date 
from table a 
inner join (
    select userid,useridx,max(number) maxnum 
    from table 
    group by userid,useridx) b 
on a.userid = b.userid and a.useridx = b.useridx 
+0

感謝。私はあなたのコードの "テーブル"を私の実際のテーブルに置き換えましたが、私は "あいまいなカラム名 'のuserid'"(そしてuseridxのために同じ)を1行目に入れています。私はこれらが実際に私のテーブルのフィールドであることを確認することができます... – leoinlios

+0

@ user1266732あなたはSELECTエリアでどのユーザIDから来るテーブルを指定する必要があります。 a.useridまたはb.useridである必要があります。テーブルエイリアスから始める必要があります。 – Taryn

+0

偉大な、あなたの説明のためにデレクとbluefeetありがとう。 PS:答えに投票しようとしましたが、評判のポイントが15点ありません。これは私の最初の投稿です... – leoinlios

関連する問題