sql前十条
‘壹’ 请问我通过Oracle得到每个月的前十条数据sql语句怎么写呀、谢谢啦。
如你查询上面图的sql等于时sql
只要在你sql前后加个条件就行的
比如:
select * from (sql) where rownum<11
再有 你如果想要T_month为准的 就在你的sql里面加order by排序 然后外面加我这个外套sql就行的
select * from ( select * from tatistics_month t order by t.T_month desc ) where rownum<11
这个sql语句不行吗?我看他用的RANK() OVER排序也行,但跨数据库时候这个会报错的。因为你这个只针对于ORACLE 对跨数据库的情况包括在内的话 上面这个语句比较大众化,我们这边项目都用的这个
‘贰’ 使用一条sql语句查询出前十条记录
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY ROWID) ROW_NUMBER, A.*
FROM TABLE1 A)
WHERE ROW_NUMBER <= 10
‘叁’ SQL语句如何取前10条,10-30条记录
常用几种数据库,取前10条记录的sql语句写法。
access:
select top (10) * from table1 where 1=1
db2:
select column from table where 1=1 fetch first 10 rows only
mysql:
select * from table1 where 1=1 limit 10
sql server:
读取前10条:select top (10) * from table1 where 1=1
读取后10条:select top (10) * from table1 order by id desc
oracle:
select * from table1 where rownum<=10
取10-30条的记录:
select top 20 * from 表名 where id not in(select top 10 id from 表名)

(3)sql前十条扩展阅读:
使用SQL从表中取记录。
SQL的主要功能之一是实现数据库查询。如果你熟悉Internet 引擎,那么你已经熟悉查询了。你使用查询来取得满足特定条件的信息。
多数Internet 引擎允许逻辑查询。在逻辑查询中,你可以包括特殊的运算符如AND、OR和NOT,你使用这些运算符来选择特定的记录。
如果需要扩展查询的结果,可以使用逻辑操作符OR。例如,如果执行一个搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站点,收到的列表中将包括所有其描述中同时包含两个表达式或其中任何一个表达式的站点。
如果想从搜索结果中排除特定的站点,可以使用NOT。例如,查询“Active Sever Pages ”AND NOT “SQL”将返回一个列表,列表中的站点包含Active Sever Pages,但不包含SQL。当必须排除特定的记录时,可以使用NOT。
用SQL执行的查询与用Internet搜索引擎执行的搜索非常相似。 当执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。
