关于分页方法paginate使用时,group by 分组并且需要分组前排序

比如:

select * from (slect * from a order by time) t group by name 

分组前排序,t 并没有实体,这种写法paginate会报错

该怎么办呢

大神帮我解答一下,谢谢


评论区

JFinal

2016-10-24 16:11

paginate 方法使用 group by 的时候,第三个参数传入 true,让 jfinal 知道这是一个 group by 查询,此外确保一下 sql 语句在数据库提供的控制台是可以正确执行的,然后再拿到代码中使用

JFinal

2016-10-24 16:13

你这个 sql,试试这样:paginate(1, 10, true, "select t.*", "from (select * from a order by time) as t group by t.name"),要确保 a 这张表中有 name 字段

smalldemon

2016-10-24 16:16

@JFinal 多谢百忙之中解答我的问题!我在调试一下

smalldemon

2016-10-24 17:13

@JFinal 非常感谢您,我的问题得到了解决

我想问下,在调试中发现 使用paginate 带不带isGroupby参数或把它置为false 好像对结果没什么影响 那么使用带isGroupby有什么区别呢

smalldemon

2016-10-24 18:01

@JFinal 不好意思啊 初学者没有好好研究 这个isGroupby 影响总数 我的问题解决了 谢谢

小智丶

2017-12-19 16:00

@JFinal 老版本中paginate 方法使用 group by 的时候 没有第三个boolean参数有什么临时解决办法吗

JFinal

2017-12-19 20:50

@小智丶 是多老的版本? 我记得第三个 boolean 参数是很早就有了

如果确实没有,可以仿照新版本创建一个带有 boolean 的 paginate 方法来用,可以将这个方法写在 service 层来使用

热门反馈

扫码入社