重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这里假设表格为:一个类型表和一个新闻表,取出类型表中的每个新闻类型都查出新闻表中属于该类型的最新的前10条
成都创新互联公司主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务齐齐哈尔,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
select 标题,编号,时间,类型编号,类型名称 from
( select
RANK()OVER(PARTITION BY 新闻表.类型编号 ORDER BY 新闻表.时间 DESC) AS
RANK2, 标题,编号,时间,新闻表.类型编号,类型名称 from
新闻表 left join 类型表 On 新闻表.类型编号 = 类型表.类型编号) T
where RANK2=10
你这用得着嵌套吗。不是多此一举吗?
select top 10 A.name,B.sex from userinfo A,sexinfo B where A.id = B.id and A.sex = B.sexid order by A.id
要是真象你那么写的话,也可以
select top 10 C.name,C.sex from (select A.name name,B.sex sex ,A.id id from userinfo A,sexinfo B where A.id = B.id and A.sex = B.sexid) C order by A.id
常用几种数据库,取前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 表名)
扩展资料:
使用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查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。
sqlserver 查询出前十条,发布时间前三十天内的记录select top 10 * from PPst_News where datediff (day,AddTime,dateadd(day,-3,convert(varchar(20),getdate(),120)))10要想查询今天起前三十天内发布的记录,可用以上方法写查询。
两者差异在于语法不同。
sqlserver取前十条可用top或row_number来实现,但oracle中只能用row_number来实现。
如表中数据:
现在要求按照ID倒序,取出前十位:
oracle中执行方法:
select t.id,t.name from
(select test.*,row_number() over (order by id desc) rn from test) t
where rn=10;
结果:
sqlserver中执行方法:
select top 10 * from test order by id desc;
结果:
注意:sqlserver2005以上版本同样可以使用oracle中的语句来执行,得到的结果完全一样。