
1、sql查询前10条数据:
select top 10 * from tablename where 1=1;1
2、oracle查询前10条数据:
select * from tablename where rownum<=101
oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:
================================
rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.
select * from tablename where rownum<=101
rownum也可以实现数据分页查询:
SELECT *
FROM (SELECT a.*, ROWNUM rn
FROM tablename a)
WHERE rn >= 10 AND rn <= 201234567
这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。
您好!数据库表中的数据是没有顺序的,所以你说的10-20条的数据就必须的有个条件,也就是说
where
某列名
=
XXX,那么咱们
以Id
列来说吧
sql
语句
select
top
10
*
from
表名
where
id
not
in(select
top
10
id
from
表名)
这个语句是子查询就是说先查出前10条数据,然后再去查这个表去掉前10条的剩下的所有数据的前10条。明白了吗?以下是
通用的分页语句,比较简单
SELECT
TOP
页大小
*
FROM
TestTable
WHERE
ID
NOT
IN
(SELECT
TOP
页大小*页数
id
FROM
表
ORDER
BY
id))
ORDER
BY
ID
SELECT C.D FROM (
SELECT C,D,ROWNUM RN FROM (
SELECT T.* FROM TABLE1 ORDER BY B DESC --降序
) T1
) WHERE RN <= 20
注:用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。
扩展资料:关于sql语句查询排序
一、sql查询单词
order by 是用在where条件之后,用来对查询结果进行排序
order by 字段名 asc/desc
asc 表示升序(默认为asc,可以省略)
desc表示降序
order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
二、关联查询(左外查询)(jt项目菜单查询)
<select id="findObjects" resultMap="map">
select c.*,p.name parentNam
from sys_menus c left join sys_menus p
on c.parentId=p.id
三、用ORDER BY 子句
SELECT <列名列表>FROM <表名>[WHERE 条件]ORDER BY <字段名1>[ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]--order by <字段名1>(不写ASC|DESC, 则默认升序ASC)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)