在QueryDsl中按总和排序

时间:2018-06-09 08:11:56

标签: java sql querydsl

我有一张表格,其中有两列leftright由这些数据填充:

left  right
===========
A     B
A     B
C     D
B     D
B     A
A     B
D     C
B     M
N     K

我想选择表格中存在的所有字母,并按出现次数排序:

letter   count
==============
B        6
A        4
D        3
C        2
N        1
M        1
K        1

我试过这段代码

SQLQuery<Tuple> union = new SQLQuery<>(connection, new PostgreSQLTemplates())
                  .select(number, SQLExpressions.sum(count))
                  .from(new SQLQuery<>().union(
                        new SQLQuery<>().from(table).select(left.as(number), cdr.count().as(count)).groupBy(left),
                        new SQLQuery<>().from(table).select(right.as(number), cdr.count().as(count)).groupBy(right))
                        .as("union")).groupBy(number).orderBy(????);

没有order by ,此代码运行正常,结果也可以,但我想根据总和对结果进行排序。我怎么能这样做?

0 个答案:

没有答案