小苹果 发表于 2004-8-18 15:15:22

怎样使用sql语句取指定记录?

数据库为pb自带的asa6.0,我想从表中用sql语句取第10-20行的记录显示,sql语句该怎样写?请高手赐教!谢谢!

yinluxie 发表于 2005-6-21 18:58:23

<P>select top 10 * from <BR>(select top 20 * from Table order by id)<BR></P>

阿辉 发表于 2005-9-7 09:44:45

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>

阿辉 发表于 2005-9-7 09:52:52

<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&gt;10</P>
<P>的办法把结果查出来</P>
[此贴子已经被作者于2005-9-7 11:07:06编辑过]

阿辉 发表于 2005-9-7 09:57:20

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]
查看完整版本: 怎样使用sql语句取指定记录?

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com