SQLSERVER取前10条记录怎样取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER取前10条记录怎样取相关的知识,希望对你有一定的参考价值。
单表我会
select top 10 from table order by id
联表呢?
例如
select top 10 from (select A.name,B.sex from userinfo A,sexinfo B where A.id = B.id and A.sex = B.sexid) order by id
就会报错,请指教
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 参考技术A order by中指定了用id排序,至少子查询中应该包含id列吧?另外子查询用在from子句中必须为子查询设置一个别名。
select top 10 * from (select A.id,A.name,B.sex from userinfo A,sexinfo B where A.id = B.id and A.sex = B.sexid) as newtable order by id 参考技术B 思路是正确的,但是sql语句写的有些问题,这么写就对了
select top 10 * from (select A.name,B.sex,A.id from userinfo A,sexinfo B where A.id = B.id and A.sex = B.sexid) C order by C.id 参考技术C oracle:
select * from tab where rownum <= 10;
sql server:
select top 10 * from tab
mysql:
select * from tab limit 10
db2:
select * from tab fetch first 10 rows only 参考技术D 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
也许这样会简单点!
实现排序取前几条数据
实现排序取前几条数据
@Override
public List<Notice> selectNewlyNotice() {
NoticeExample noticeExample = new NoticeExample();
noticeExample.setOrderByClause("noti_id desc");
List<Notice> notices = noticeMapper.selectByExample(noticeExample)
.stream().limit(5).collect(Collectors.toList());
return notices;
}
说明:首先使用example进行排序,然后按照这个example的条件放到select中进行查询,查询完后使用stream流函数进行处理,limit(x) x表示截取的几条数据。然后collect()函数是将流转为list集合。
以上是关于SQLSERVER取前10条记录怎样取的主要内容,如果未能解决你的问题,请参考以下文章