【发布时间】:2018-01-26 09:27:32
【问题描述】:
我有以下情况:
我有一张带有年份的账单(例如 2000、2001...),一个布尔值表示账单是否已支付,以及其他不同的值,例如人名。
我想以特定顺序将它们显示在列表中。最早的未付账单应该在顶部,最早的已付账单应该在底部。它也应该按名称排序。 喜欢:
Name Year PAID
Smith 2010 false
Otto 2018 false
Anon 2018 true
Hueue 2018 true
Otto 2017 true
Smith 2009 true
类似的...
"from Bill as b order by b.paid, b.year, b.name"
该子句对列表进行如下排序:
Name Year PAID
Smith 2010 false
Otto 2018 false
Smith 2009 true
Otto 2017 true
Anon 2018 true
Hueue 2018 true
我尝试使用 HQL(按大小写...)来实现我的目标,但我不知道如何根据值以不同方式对同一行进行排序。 喜欢:(这不起作用)
" from Bill as b" +
" order by" +
" b.paid," +
" (case b.year" +
" WHEN b.paid" +
" THEN b.year" +
" ELSE -b.year" +
" end)," +
" b.name"
提前感谢您的帮助。
编辑:添加更多解释和示例...
【问题讨论】:
标签: sql-order-by hql