怎样使用sql语句取指定记录?
数据库为pb自带的asa6.0,我想从表中用sql语句取第10-20行的记录显示,sql语句该怎样写?请高手赐教!谢谢! <P>select top 10 * from <BR>(select top 20 * from Table order by id)<BR></P>ASA小知识
<P><STRONG><FONT size=2>检索一个查询中的前几行</FONT></STRONG><BR></P><P>通过 FIRST 或 TOP 关键字,您可以将查询的结果限制为返回的前几行。尽管您可以将这两个关键字与任何查询一起使用,但它们与使用ORDER BY 子句的查询一起使用最合适。</P>
<P><BR>示例:以下查询将返回有关按姓排序的第一个雇员的信息:</P>
<P><BR>SELECT FIRST *<BR>FROM employee<BR>ORDER BY emp_lname</P>
<P><BR>以下查询将返回对姓氏按字母表顺序排序的前 5 个雇员:</P>
<P><BR>SELECT TOP 5 *<BR>FROM employee<BR>ORDER BY emp_lname</P>
<P><FONT size=2><STRONG>FIRST 和 TOP 的使用限制</STRONG></FONT><BR></P>
<P>在一个请求的最外面的 SELECT 块中支持 FIRST 和 TOP。FIRST 和TOP 只能与 ORDER BY 子句结合使用,以确保获得一致的结果。在位于查询的 SELECT 列表中的子查询中或涉及比较判定的子查询(不属于涉及 IN、ANY、SOME 或 ALL 的定量判定的子查询)中也支持FIRST。例如,以下嵌套查询</P>
<P><BR>SELECT *<BR>FROM sales_order_items<BR>WHERE prod_id = (SELECT FIRST from product)</P>
<P><BR>得到支持,以下查询</P>
<P><BR>SELECT *<BR>FROM sales_order_items<BR>WHERE prod_id = ANY(SELECT FIRST from product)</P>
<P><BR>则不受支持。FIRST 或 TOP n 的不受支持的实例可能不会导致语法错误,但很可能会生成意外的或不可预知的结果。因此,除了上述两种情况,您应该在 SQL 结构中限制使用 FIRST 或 TOP。具体而言,不应在派生表、视图或定量子查询中指定 FIRST 或 TOP。</P> <DIV class=quote><B>以下是引用<I>小苹果</I>在2004-8-18 15:15:22的发言:</B><br>数据库为pb自带的asa6.0,我想从表中用sql语句取第10-20行的记录显示,sql语句该怎样写?请高手赐教!谢谢!</DIV>
<P>有一个办法,就是可能有点繁:</P>
<P>用:</P>
<P>SELECT TOP 20 IDENTITY( 1 ) as x, emp_lname</P>
<P>FROM employee</P>
<P>把前20个记录查出,并存在临时表中</P>
<P>再用</P>
<P>SELECTemp_lname</P>
<P>FROM #aaa</P>
<P>where x>10</P>
<P>的办法把结果查出来</P>
[此贴子已经被作者于2005-9-7 11:07:06编辑过]
ASA小知识
<P>IDENTITY 函数 [ 杂类]</P><P><br>作用为查询中的每个连续行生成从 1 开始的整数值。它的实现方式与NUMBER 函数相同。</P>
<P><br>语法IDENTITY ( expression )</P>
<P><br>参数expression 表达式。对表达式进行分析,但在执行此函数时忽略表达式。</P>
<P><br>示例下面的语句返回按顺序排列的雇员列表。</P>
<P><br>SELECT IDENTITY( 10 ), emp_lname FROM employee</P>
[此贴子已经被作者于2005-9-7 11:07:50编辑过]
页:
[1]