【发布时间】:2014-11-10 02:18:09
【问题描述】:
我正在尝试从 MySQL 表中选择一个随机记录列表,但优先考虑某些 ENUM 类型。当我在终端中运行以下纯 SQL 查询时,它工作正常:
select * from table_name where expires <= UNIX_TIMESTAMP()*1000
order by enum_type desc, rand() limit 500;
但在编写以下代码时,我的 IDE 出现编译错误:
private List<FooRecord> getNextRecordsWeighted(Condition condition, int recordLimit) {
final long timeNow = System.currentTimeMillis();
return context.selectFrom(TABLE_NAME).where(TABLE_NAME.EXPIRES.lessOrEqual(timeNow)).
orderBy(TABLE_NAME.ENUM_TYPE.desc(), DSL.rand()).limit(recordLimit).fetch();
}
现在,我的 IDE 说的是,显然没有我可以调用的兼容方法来执行此操作。我将如何解决这个问题?有解决办法吗?
【问题讨论】:
标签: java mysql sql-order-by jooq