背景 : 数据库表是@column 注解创建的,通过需要(条件)取出部分有用数据(只有一张表)
需求 : 在表中先取出符合条件的数据,排序(表t),再从表t中取出行号为10 到20之间的数据
排序我知到
select t.tid from test t where t.tid in(select tid from test1) order by t.logintime desc
可是排序后怎么去两个行号之间的数据啊?
各位大牛,帮帮忙啊,要是做不出来,分分钟卷铺盖的节奏啊
举个例子,取第10到第20条数据:select top 10 * from t where id not in (select top 10 id from t)
严重: line 1:12: unexpected token: 10
十一月 11, 2016 6:32:10 下午 org.hibernate.hql.ast.HqlParser processEqualityExpression
警告: processEqualityExpression() : No expression to process!
十一月 11, 2016 6:32:10 下午 org.hibernate.hql.PARSER reportError
严重: line 1:77: unexpected token: 10
18:32:10.017 [http-bio-8080-exec-15] ERROR org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler - Exception occurred during processing request: [org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 10 near line 1, column 12 [select top 10 t from
还是不行啊,我这用的是hibernate,还是搞不定
Query q = sess.createQuery("from XXX");
q.setFirstResult(20);设置起始行
q.setMaxResults(10);每页条数
List cats = q.list(); //得到每页的数据
要注意的是q.setMaxResults(num); num是要查询的条数,而不是查到哪个位置