代码之家  ›  专栏  ›  技术社区  ›  Farvardin kiran

按和排序(QueryDsl)

  •  0
  • Farvardin kiran  · 技术社区  · 7 年前

    我有一张有两列的桌子 left right 由以下数据填写:

    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 回复  |  直到 7 年前