mysql/Oracle/mssql取前几条数据sql写法

如在ms sqlserver 用此语句:

 代码如下 复制代码

select top 2 * from test01

Oracle的语句:

 代码如下 复制代码

select * from (select rownum r ,* from test) ttwhere tt.r > 50 and tt.r <= 100;

(最好用PLSQL游标来解决)

DB2中:

 代码如下 复制代码
select * from payment fetch first 5 row only --查前5条记录 

MSSQL

如在ms   sqlserver   用此语句:  

 

 代码如下 复制代码
select   top   2   *   from   test01 

  就会只显示前2条记录,  
     

MYSQL 使用limit就可以了.

 代码如下 复制代码
select   *   from   your_table   where   ....   limit   2;  

    
 
msssql一个实例

1. 使用MS SQL Server 2008;
2. 数据库内容如下:张三 数学 98李四 数学 95王五 数学 90赵六 英语 100张三 英语 99李四 英语 69
3. 要查询的结果:每一门课程的前2名

 代码如下 复制代码

select a.xingming,a.kemu,a.fenshu from xuexi a where a.fenshu in (SELECT top 2 fenshu FROM xuexi WHERE xingming = a.xingming and kemu=a.kemu order by fenshu desc)

时间: 2024-09-08 18:20:28

mysql/Oracle/mssql取前几条数据sql写法的相关文章

oracle left join 后怎么取前10条数据?

问题描述 oracle left join 后怎么取前10条数据? 如题 oracle left join 后怎么取前10条数据? 求大神帮帮忙,谢谢了 解决方案 where rownum <= 10 解决方案二: ORACLE取前10条数据Oracle获取前10条数据Oracle查询前10条数据 解决方案三: 直接select top10 * from a表 left join b表 on --; 解决方案四: select * from (select ROWNUM as num,A.* f

asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)_实用技巧

本文实例总结了asp.net DataTable相关操作.分享给大家供大家参考,具体如下: #region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// <summary> /// DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// eg:SortExprDataTable(dt,"Sex='男'","Time Desc&quo

mysql使用GROUP BY分组实现取前N条记录的方法_Mysql

本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法.分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 复制代码 代码如下: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT J

sql server-sql 数据随机排序后取前1000条元祖

问题描述 sql 数据随机排序后取前1000条元祖 请问一下各位大神 如题目,在网上查了相关资料,还是报错 我输入的语句是:ORDER BY NEWID() 目前用的是sql server 语句 急哦 能帮答的答一下 感激~ 解决方案 select top 1000 * from table ORDER BY NEWID() 这是可以得. 解决方案二: 看情况你是光输入order by newid() SELECT TOP 1000 * from Table order by NEWID() 解

orderby-Oracle 排序后取前10条出错

问题描述 Oracle 排序后取前10条出错 (http://img.ask.csdn.net/upload/201509/25/1443167518_195061.jpg) Oracel中,我想在子查询中先分组,在排序,最后在外层做一个,取排序后结果的前10条结果 解决方案 他说你的语法错误,你检查下语法 解决方案二: 子查询需要命名,就是外层要 select * from (子查询语句)s where .... 解决方案三: order by 的问题,order by 后边不能用子查询的结果

php 利用array_slice函数获取随机数组或前几条数据_php实例

先给大家说下基本语法: array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] ) array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列.  如果 offset 非负,则序列将从 array 中的此偏移量开始.如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始.  如果给出了 length 并且为正,则序

代码-指定修改某条数据的写法

问题描述 指定修改某条数据的写法 直接上代码先 模板: 代码不知道为什么显示不出来 我直接叙述吧 就是我有一个select 下面两个option 一个value是0 一个是1 我现在要在TP 的控制器里面写修改 只修改value是1的 怎么弄修改的sql语句里面的where吖? 我想的是 where id 但是对应的id我不知道怎么传值过去 控制器 public function admin(){ if(IS_POST){ print_r($_POST); } } 我现在要只修改status为0

帝国cms随机读取20条数据sql语句

自己经常使用sql语句,没有总结出一个系统的sql语句大全来.今天就顺带在发个随机读取20条数据sql语句,留着以后自己用.也让后来者可以一起分享分享. [ecmsinfo]"select * from [!db.pre!]ecms_news where (classid  between 1 and 10) order by rand()  LIMIT  20",20,36,0,24,2,0[/ecmsinfo]

MySql中取前几行数据使用limit来完成

在mysql中是没有top关键字的,不过可以用limit来完成此功能,下面举例为大家详细介绍下它的使用方法,不会的朋友可以学习下   在mysql中是没有top关键字的,在mysql中可以用limit来完成功能. order by id desc limit 10 按照id的倒序排序 取出前10条 order by id desc limit 0,10 按照id的倒序排序 取出前10条 order by id limit 5,10 按照id的正序排序 从第5条开始取10条 复制代码 代码如下: