根据时间条件排序,取前十条和后十条。
1、有时间字段, 根据时间条件排序,取前十条和后十条
(1)前十条:
select * from (select * from tab_name a order by date_col )
where rownum<11
(2)后十条:
select * from (select * from tab_name a order by date_col desc)
where rownum<11
2、没有时间字段, 直接根据物理存储顺序,取前十条和后十条
(1)前十条:
select * from (select * from tab_name a order by rownum)
where rownum<11
(2)后十条:
select * from (select * from tab_name a order by rownuml desc)
where rownum<11
mysql 没有top的用法。取而代之的是limit
语法为:limit m,n
省略n就可以得到你要的效果了。
select * from table1 limit 10
SELECT * FROM category LIMIT 3, 5
LIMIT 3, 5 这一句是关键3代表第几条数据之后开始,5代表差出几条结束(这里以mysql中的category表)
显示10条:
SELECT * FROM category LIMIT 0,10
或者
SELECT * FROM category LIMIT 10
SELECTTOP10FROM表名ORDERBY排序列DESC
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、4???9、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就是最前面的那几条。
降序用desc65条记录用top;
如selecttop65*from表orderby要按降序的字段desc;
selecttop65*fromtableorderbyiddesc。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)