HQLは次のとおりです。
select A, B, count(*) as cnt from test_table group by A, B order by cnt desc;
出力例は次のとおりです。
a1 | b1 | 5
a2 | b1 | 3
a1 | b2 | 2
a2 | b2 | 1
しかし、私がやりたいのはorder by
Aの各グループで、意図した出力は次のようになります。
a1 | b1 | 5
a1 | b2 | 2
a2 | b1 | 3
a2 | b2 | 1
この問題をone HQLで解決する方法を誰かに教えてもらえますか?どうもありがとう!
select A, B, count(*) as cnt
from test_table
group by A, B
order by A, cnt desc;
このクエリを試してください:
Aの順序のみが必要な場合:
select A, B, count(*) as cnt from test_table group by A, B order by A asc;
AとBの順序が必要な場合:
select A, B, count(*) as cnt from test_table group by A, B order by A asc,B asc;
お役に立てれば。
select A, B, count(*) as cnt from test_table group by A, B order by A asc, B asc, cnt desc;