问题已经按价值清单的顺序详细描述了,但要重复:我想按特定顺序选择ID为1、3、2、4的项。我的jooq片段:
var results = create.select().from(ITEM).where(ITEM.ID.in(1,3,2,4)).fetchInto(Item.class);
结果 results 列表中的项目按1、2、3、4的顺序排列。如何与jooq保持项目的顺序?
results
lx0bsm1f1#
你可以用 Field.sortAsc() 为此:
Field.sortAsc()
create.select() .from(ITEM) .where(ITEM.ID.in(1, 3, 2, 4)) .orderBy(ITEM.ID.sortAsc(1, 3, 2, 4)) .fetchInto(Item.class);
当然,为了避免重复列表,请使用局部变量:
Integer[] ids = { 1, 3, 2, 4 }; create.select() .from(ITEM) .where(ITEM.ID.in(ids)) .orderBy(ITEM.ID.sortAsc(ids)) .fetchInto(Item.class);
请参阅本文中有关排序间接寻址的内容。
1条答案
按热度按时间lx0bsm1f1#
你可以用
Field.sortAsc()
为此:当然,为了避免重复列表,请使用局部变量:
请参阅本文中有关排序间接寻址的内容。