私はテーブルXYZを持っています
+ ------ + ------ + ------ + ----- + | X1 | x2 | x3 | x4 | + ------ + ------ + ------ + ----- + | a | b | c | 1 | | a | b | d | 2 | | p | q | e | 3 | | p | q | f | 4 | + ------ + ------ + ------ + ----- +
条件は、x1とx2が一致する場合、行のx3とx4を取得します。このテーブルをクエリすると、x4が最大になります。
+ ------ + ------ + ------ + ----- + | X1 | x2 | x3 | x4 | + ------ + ------ + ------ + ----- + | a | b | d | 2 | | p | q | f | 4 | + ------ + ------ + ------ + ----- +
select * from XYZ t1、(select x1、x2、max(x4)from XYZ)t2として試してみました。ここで、t1.x1=t2.x1およびt1.x2=t2.x2
しかし、これは大規模なデータベースでは非常に遅いため、ランクや分割などの高度な関数を使用したいと思います