java - 按子对象中参数的值查询dsl顺序
问题描述
我有一个样本对象(非常简化)
class Sample {
List analysis;
}
并且分析包含一个值
class Analysis {
Integer value;
}
该样本包含 N 个这些样本,但并非所有样本都有值。在 Querydsl 中,我想按具有任何价值的分析百分比对结果进行排序。
我已经尝试过了,但它看起来不像是在计算值的数量。
query.orderBy(
new OrderSpecifier(
pRequest.getOrder(),
Expressions.asNumber(qSample.analysis.any().value.isNotNull().count().divide(qSample.analysis.size()) )
)
);
解决方案
尝试:
query.orderBy(
pRequest.getOrder(),
Expressions.asNumber(
qSample.analysis.any().value.isNotNull().count().divide(qSample.analysis.size())).asc()
);
推荐阅读
- angular - ng-material-multilevel-menu 禁用排序
- testing - 与内容重复的 kubernetes 命名空间
- sql - SQL 中每个用户的最后点击归因/最大 n
- javascript - 单击按钮时增加/扩展电子窗口的高度
- perl - perl XML::LibXML 获取直接子文本节点内容
- swift - 在 Swift 中使用 switch 语句重构 IF-Else 嵌套代码
- javascript - 无法在 create-react-app 生成的应用程序中读取环境变量
- python - LSTM 输入数据准备和定义(Python)
- python - 程序运行时变量中的 PC 时间不应更改
- oracle - 使用 refcursor 作为 oracle 中函数的输入,出现错误 - 执行时无法访问非嵌套表项中的行