TABのようなテーブルがあります
ID RANK NAME
--- ----- -----
1 1 abc
1 2 def
1 4 xyz
2 1 pqr
2 5 def
2 3 stu
ID 列によって表されるデータのグループがあります。グループは、異なるランクで共通の名前を共有できます。クエリを使用して上記のテーブルをマージして並べ替えます
SELECT MAX(RANK) R, NAME
FROM TAB
WHERE ID in (1,2)
GROUP BY NAME
ORDER BY R
一般的な名前が 1 つの行にマージされ、ランク (2 つの行が同じ名前を共有する場合の最大ランク) で並べ替えられた結果を取得します。
R NAME
---- -----
1 abc
1 pqr
3 stu
4 xyz
5 def
データベースからこの結合された結果を取得する代わりに、Java で各 ID に基づいて 2 つの結果セットを取得する場合、それらを Java でマージしてソートする最も効率的な方法は何ですか?