-1
id id2  id3 address 
1   1   0   A   
2   1   0   B
3   2   0   A
4   3   0   A
5   3   0   B
6   4   0   A   

みなさん、こんにちは...私のクエリを解決してください...私はこのテーブルをこの形式で持っています。今、私はこのテーブルから一意に "id2" 値を取得したいと考えています。これは、「A」とともにアドレス「B」を持つすべての値が必要であることを意味します(ただし、「A」は「B」と同じ「id2」を持つべきではありません)。したがって、「id2」のすべての一意の値を取得します....plzみんな...何かしてください

現在、「B」を取得するためのクエリを使用しています

 SELECT * FROM t1 WHERE address=(SELECT MAX(address) FROM t1)

今もすべての「A」が必要ですが、「B」と同じ「id2」を持つべきではありません

そのアンスが欲しい

id id2  id3 address 

2   1   0   B
3   2   0   A

5   3   0   B
6   4   0   A   

何か案が???

4

1 に答える 1

2
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  id2, MAX(ID) max_ID
            FROM    tableName
            GROUP   BY id2
        ) b ON  a.id2 = b.id2 aND
                a.ID = b.max_ID
于 2013-01-25T16:43:29.853 に答える