﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-AndyZhang-随笔分类-SQL</title><link>http://www.blogjava.net/AndyZhang/category/49334.html</link><description>welcome to java world</description><language>zh-cn</language><lastBuildDate>Tue, 17 Apr 2012 03:59:06 GMT</lastBuildDate><pubDate>Tue, 17 Apr 2012 03:59:06 GMT</pubDate><ttl>60</ttl><item><title>经典SQL语句大全</title><link>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374867.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Tue, 17 Apr 2012 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374867.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 下列语句部分是Mssql语句，不可以在access中使用。&nbsp;　　SQL分类：　　DDL&#8212;数据定义语言(CREATE，ALTER，DROP，DECLARE)&nbsp;　　DML&#8212;数据操纵语言(SELECT，DELETE，UPDATE，INSERT)&nbsp;　　DCL&#8212;数据控制语言(GRANT，REVOKE，COMMIT，ROLLBACK)　　首先,...&nbsp;&nbsp;<a href='http://www.blogjava.net/AndyZhang/archive/2012/04/17/374867.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/374867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2012-04-17 11:00 <a href="http://www.blogjava.net/AndyZhang/archive/2012/04/17/374867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql实例</title><link>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374865.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Tue, 17 Apr 2012 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374865.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 案例：有如下表，要求就裱中所有沒有及格的成績，在每次增長0.1的基礎上，使他們剛好及格:Name scoreZhangshan 80Lishi 59Wangwu 50Songquan 69while((select min(score) from tb_table)&lt;60)beginupdate tb_table set score =score*1.01&nbsp;where score&...&nbsp;&nbsp;<a href='http://www.blogjava.net/AndyZhang/archive/2012/04/17/374865.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/374865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2012-04-17 10:58 <a href="http://www.blogjava.net/AndyZhang/archive/2012/04/17/374865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL语句大全</title><link>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374864.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Tue, 17 Apr 2012 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2012/04/17/374864.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 基础创建数据库　　创建之前判断该数据库是否存在 　　if exists (select * from sysdatabases where name='databaseName') 　　drop database databaseName 　　go 　　Create DATABASE database-name 删除数据库　　drop database dbname 备...&nbsp;&nbsp;<a href='http://www.blogjava.net/AndyZhang/archive/2012/04/17/374864.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/374864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2012-04-17 10:54 <a href="http://www.blogjava.net/AndyZhang/archive/2012/04/17/374864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL中GROUP BY的用法</title><link>http://www.blogjava.net/AndyZhang/archive/2012/04/12/373981.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Thu, 12 Apr 2012 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2012/04/12/373981.html</guid><wfw:comment>http://www.blogjava.net/AndyZhang/comments/373981.html</wfw:comment><comments>http://www.blogjava.net/AndyZhang/archive/2012/04/12/373981.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/AndyZhang/comments/commentRss/373981.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/AndyZhang/services/trackbacks/373981.html</trackback:ping><description><![CDATA[GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想<br /><br />你用了GROUP BY 按&nbsp; ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示<br /><br />A&nbsp; B<br />1&nbsp; abc<br />1&nbsp; bcd<br />1&nbsp; asdfg<br /><br />select A,B from table group by A<br />你说这样查出来是什么结果,<br /><br />A&nbsp; B<br />&nbsp;&nbsp;&nbsp;&nbsp;abc <br />1&nbsp; bcd<br />&nbsp;&nbsp;&nbsp;&nbsp;asdfg<br /><br />右边3条如何变成一条,所以需要用到聚合函数,比如<br /><br />select A,count(B) 数量 from table group by A<br />这样的结果就是<br />A&nbsp; 数量<br />1&nbsp;&nbsp; 3<br /><br /><span style="color: #3366ff">group by 有一个原则,就是 select 后面的所有列（只要没有使用聚合函数的列）必须出现在 group by 后面</span><img src ="http://www.blogjava.net/AndyZhang/aggbug/373981.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2012-04-12 16:20 <a href="http://www.blogjava.net/AndyZhang/archive/2012/04/12/373981.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sql Server 2000企业管理器无法打开（MMC）的解决方法 </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/23/357093.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Tue, 23 Aug 2011 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/23/357093.html</guid><description><![CDATA[打开Sql Server 2000企业管理器时，显示的错误状态：<br /><br />MMC 不能打开文件 C:\Program Files\Microsoft SQL Server\80\Tools\BINN\SQL Server Enterprise Manager.MSC。<br /><br />分析：<br /><br />参看文件是否存在或被损坏。<br /><br />无论那种，先将其删除<br /><br />然后，在运行框中输入 mmc，打开控制台<br /><br />执行以下三个步骤：<br /><br />1、控制台--添加/删除管理单元--添加--找到Microsoft SQL 企业管理器--添加--关闭--确定<br /><br />2、控制台--选项--控制台模式选择"用户模式完全访问"--将下面的选择全部取消<br /><br />3、控制台--另存为--存储为:C:\Program Files\Microsoft SQL Server\80\Tools\BINN\SQL Server Enterprise Manager.MSC<br /><br />在第三步时可能会遇到&#8220;无法保存&#8221;，这种现象。<br /><br />则在运行框中输入 regsvr32 C:\Windows\system32\msxml3.dll<br /><br />然后再执行上面的第三步，即可<br /><br />参考：<a href="http://www.leezao.cn/article.asp?id=467" target="_blank"><font color="#006600">http://www.leezao.cn/article.asp?id=467</font></a> <img src ="http://www.blogjava.net/AndyZhang/aggbug/357093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-23 09:44 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/23/357093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#连接Sql server2000 的方法</title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356887.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356887.html</guid><description><![CDATA[// 下面是本地连接sql2000，采用下面两种连接字符串<br /><br />string source = @" server = .kingsql;database = Northwind ; integrated security=SSPI ";<br /><br />string source = @" server = .kingsql;database = Northwind ; uid = sa; pwd = sa ";<br />(2)远程连接<br />首先要保证客户端与SQL服务器连接。<br />具体如下说明：<br />1）ping 服务器IP测试连通与否<br />这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行，请检查网络，查 看配置，当然得确保远程sql server 2000服务器的IP拼写正确。<br /><br />2) 在Dos或命令行下输入telnet 服务器IP 端口，看能否连通<br />如: telnet 202.114.100.100 1433<br />通常端口值是1433，因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题，通常这一步会出问题。通常的提示是&#8220;&#8230;&#8230;无法打开连接,连接 失败"。<br />如果这一步有问题，应该检查以下选项。<br />1 检查远程服务器是否启动了sql server 2000服务。如果没有，则启动。<br />2 检查服务器端有没启用Tcp/IP协议，因为远程连接（通过因特网）需要靠这个协检查方法是，在服务器上打开开始菜单-&gt;程序-&gt; Microsoft SQL Server-&gt;服务器网络实用工具，看启用的协议里是否有tcp/ip协议，如果没有，则启用它。<br />3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性，确保默认端口为1433，并且隐藏服务器复选框没有勾上。<br />事实上，如果默认端口被修改，也是可以的，但是在客户端做telnet测试时，写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选，则意味着客户端无法通过枚举服务器来看到这台服务器，起到了保护的作用，但不影响连接，但是Tcp/ip协议的默认端口将被隐式修改为2433，在客户端连接时必须作相应的改变。<br />4 如果服务器端操作系统打过sp2补丁，则要对windows防火墙作一定的配置，要对它开放1433端口，通常在测试时可以直接关掉windows防火墙（其他的防火墙也关掉最好）。<br />5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听，则是连接不上的。检查方法是在服务器的dos或命令行下面输入netstat -a -n 或者是netstat -an，在结果列表里看是否有类似tcp 127.0.0.1 1433 listening的项。如果没有，则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器，输入 select @@version 执行后可以看到版本号，版本号在8.0.2039以下的都需要打补丁。如果以上都没问题，这时你再做telnet 服务器ip 1433 测试，将会看到屏幕一 闪之后光标在左上角不停闪动。恭喜你，你马上可以开始在企业管理器或查询分析 器连接了。<br /><br />一般写法可以这样子够用了，对我们这些菜鸟来讲就够了，至于复杂的以后在写，<br /><br />SqlConnection conn = new SqlConnection("Server=.;DataBase=Northwind;Uid=sa;pwd=123;");<br />Server=.;目标服务器IP本地用.(Local),<br />DataBase 数据库名称<br />Uid ,User ID , 连接数据库的用户名<br />pwd Password 是连接数据库的密码<br />//如果没有就不要写否则报错 <img src ="http://www.blogjava.net/AndyZhang/aggbug/356887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 18:27 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>精华答题收藏之逻辑难题（字符拆分） </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356881.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356881.html</guid><description><![CDATA[<div class="article_content">
<p><span style="color: #0000ff"><span style="color: #000000">IF OBJECT_ID('dbo.统计表') IS NOT NULL DROP TABLE 统计表 <br />CREATE TABLE 统计表 (方便面 INT,茶叶 INT,面包 INT,口香糖 INT,牛奶 INT,玻璃杯 INT,可乐 INT,冰糖 INT,牙膏 INT,牙刷 INT,故事书 INT,味素 INT,食盐 INT,榨菜 INT,食醋 INT) <br />INSERT INTO 统计表 <br />SELECT 1,0,0,0,0,1,0,0,0,1,0,0,1,0,0 UNION ALL <br />SELECT 1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 UNION ALL <br />SELECT 0,1,1,1,0,1,1,1,0,1,0,0,1,1,0 UNION ALL <br />SELECT 1,1,0,0,1,1,0,1,1,0,0,1,1,0,0 UNION ALL <br />SELECT 0,1,1,0,0,1,0,1,0,0,0,0,1,1,1 UNION ALL <br />SELECT 1,1,0,0,1,1,0,1,1,0,0,0,0,1,0 UNION ALL <br />SELECT 1,1,1,0,0,1,0,1,0,0,0,1,1,0,0 UNION ALL <br />SELECT 0,0,1,0,0,1,0,1,0,0,0,0,1,1,1 UNION ALL <br />SELECT 1,1,1,0,0,1,0,1,1,0,1,1,0,1,0 UNION ALL <br />SELECT 1,1,1,1,0,1,1,1,0,1,1,0,1,0,1 UNION ALL <br />SELECT 0,0,1,1,1,1,0,1,0,1,0,1,1,1,0 UNION ALL <br />SELECT 1,1,1,1,1,1,0,1,0,1,0,0,1,1,1 <br />Select * from 统计表 <br /><br /><br />统计表的商品名为n列，不只上面列出的那么多，如何实现n维数组输出，即有多少个字段就输出从一维直到n维的数组！ <br />具体目标：现有一参考值0.25，要输出满足条件的1到n维数组，其中一维数组统计单个商品名出现1的合计数，即每一个商品名出现一个1就算一次。 <br /><br />二维数组统计为从第一列方便面开始起与相邻的茶叶都为1，1的关系（依次组合查询每相邻两个满足条件的关系）。 <br /><br />详细：即从第一行找到最后一行，如发现循环组合满足都为1，1这样关系有5个，即sum记为5，依次再找从第一列方便面开始起与相隔一个位置的面包都为1，1的关系，如满足这样的关系从第一行到最后有3个即sum值记为3，依次类推再从第一列方便面开始与相隔两位置的口香糖组合都为1，1的关系，这样一直找到方便面与最后一列食醋（即第n列）的关系都为1，1的位置，再从开始的第二列循环与之后的每列依次组合查找1，1的关系，直到循环到从榨菜开始与最后一列食醋（第n列）为1，1的关系，二维数组循环完毕。 <br /><br />输出：如每以组合列满足条件的sum值/所有行数&gt;=0.25则输出 该组合商品名称，例如（茶叶，冰糖）组合关系为（1，1）的sum数/总行数&gt;=0.25 则需将结果（茶叶,冰糖）输出到 结果表 的values 字段，三维数组与n维数组算法与二维数组相似 <br /><br />结果表输出样式：（中间以逗号分开） <br /><br />结果表 <br />values <br />{方便面,口香糖,牛奶,食醋} <br />{（茶叶,冰糖）（口香糖,玻璃杯）（榨菜,食醋）} <br />{（方便面,茶叶,牛奶）（茶叶,口香糖,冰糖）（玻璃杯,食盐,食醋） } <br />{（n维数组1）（n维数组2）（n维数组3）（n维数组3）（...）（n维数组n）} <br /><br /><br />请问上面的数据查询如何实现！请贴出代码！！ </span></span></p>
<p>&nbsp;</p>
<p><span style="color: #0000ff">IF</span><span style="color: #000000"> </span><span style="color: #ff00ff">OBJECT_ID</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">dbo.统计表</span><span style="color: #ff0000">'</span><span style="color: #000000">) </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">DROP</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> 统计表 <br /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> 统计表 (方便面 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,茶叶 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,面包 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,口香糖 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,牛奶 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,玻璃杯 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,可乐 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,冰糖 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,牙膏 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,牙刷 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,故事书 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,味素 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,食盐 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,榨菜 </span><span style="color: #0000ff">INT</span><span style="color: #000000">,食醋 </span><span style="color: #0000ff">INT</span><span style="color: #000000">) <br /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000"> </span><span style="color: #0000ff">INTO</span><span style="color: #000000"> 统计表 <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">UNION</span><span style="color: #000000"> </span><span style="color: #808080">ALL</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">Go</span><span style="color: #000000"><br /></span><span style="color: #0000ff">Create</span><span style="color: #000000">&nbsp;&nbsp; </span><span style="color: #0000ff">PROC</span><span style="color: #000000"> xb_GetArray(</span><span style="color: #008000">@维数</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000">, </span><span style="color: #008000">@系数</span><span style="color: #000000"> </span><span style="color: #0000ff">float</span><span style="color: #000000"> ,</span><span style="color: #008000">@结果</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">) out )<br /></span><span style="color: #0000ff">AS</span><span style="color: #000000"><br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> NOCOUNT </span><span style="color: #0000ff">ON</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">IF</span><span style="color: #000000"> </span><span style="color: #ff00ff">OBJECT_ID</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">dbo.Tmp</span><span style="color: #ff0000">'</span><span style="color: #000000">) </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">DROP</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> dbo.Tmp<br /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> Tmp(id </span><span style="color: #0000ff">INT</span><span style="color: #000000">,NAME </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">20</span><span style="color: #000000">))<br /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000"> Tmp </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> colid,NAME&nbsp; </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> syscolumns s </span><span style="color: #0000ff">WHERE</span><span style="color: #000000"> id</span><span style="color: #808080">=</span><span style="color: #ff00ff">OBJECT_ID</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">统计表</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br /></span><span style="color: #0000ff">IF</span><span style="color: #000000"> </span><span style="color: #ff00ff">OBJECT_ID</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">tempdb.dbo.#</span><span style="color: #ff0000">'</span><span style="color: #000000">) </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #0000ff">DROP</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> #<br /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> #(ws </span><span style="color: #0000ff">INT</span><span style="color: #000000">,Result </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">))<br /><br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@num</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@f</span><span style="color: #000000"> </span><span style="color: #0000ff">FLOAT</span><span style="color: #000000"><br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #000000"> </span><span style="color: #0000ff">nVARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">)<br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@id</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">),</span><span style="color: #008000">@w</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">),</span><span style="color: #008000">@wh</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">),</span><span style="color: #008000">@c</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">)<br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@Step</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> ,</span><span style="color: #008000">@i</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000"> ,</span><span style="color: #008000">@j</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000"> ,</span><span style="color: #008000">@s</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000">,</span><span style="color: #008000">@l</span><span style="color: #000000"> </span><span style="color: #0000ff">INT</span><span style="color: #000000">&nbsp; <br /><br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@f</span><span style="color: #808080">=</span><span style="color: #008000">@系数</span><span style="color: #000000"><br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp; </span><span style="color: #008000">@num</span><span style="color: #808080">=</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">) </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> tmp&nbsp; <br /><br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@i</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@Step</span><span style="color: #808080">=</span><span style="color: #008000">@维数</span><span style="color: #000000"><br /></span><span style="color: #0000ff">set</span><span style="color: #000000"> </span><span style="color: #008000">@结果</span><span style="color: #808080">=</span><span style="color: #ff0000">''</span><span style="color: #000000"><br /></span><span style="color: #0000ff">WHILE</span><span style="color: #000000"> </span><span style="color: #008000">@i</span><span style="color: #808080">&lt;=</span><span style="color: #008000">@num</span><span style="color: #000000"><br /></span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@wh</span><span style="color: #808080">=</span><span style="color: #ff00ff">REPLICATE</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #008000">@Step</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@j</span><span style="color: #808080">=</span><span style="color: #008000">@i</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">WHILE</span><span style="color: #000000"> </span><span style="color: #008000">@j</span><span style="color: #808080">&lt;=</span><span style="color: #008000">@num</span><span style="color: #808080">-</span><span style="color: #000000">(</span><span style="color: #008000">@Step</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">BEGIN</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@l</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #008000">@id</span><span style="color: #808080">=</span><span style="color: #ff0000">''</span><span style="color: #000000">,</span><span style="color: #008000">@w</span><span style="color: #808080">=</span><span style="color: #ff0000">''</span><span style="color: #000000">,</span><span style="color: #008000">@c</span><span style="color: #808080">=</span><span style="color: #0000ff">NULL</span><span style="color: #000000">&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">WHILE</span><span style="color: #000000"> </span><span style="color: #008000">@l</span><span style="color: #808080">&lt;=</span><span style="color: #008000">@Step</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@id</span><span style="color: #808080">=</span><span style="color: #008000">@id</span><span style="color: #808080">+</span><span style="color: #ff00ff">LTRIM</span><span style="color: #000000">(</span><span style="color: #008000">@j</span><span style="color: #808080">+</span><span style="color: #008000">@l</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@l</span><span style="color: #808080">=</span><span style="color: #008000">@l</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">END</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@id</span><span style="color: #808080">=</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(</span><span style="color: #008000">@i</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@id</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@w</span><span style="color: #808080">=</span><span style="color: #008000">@w</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">+ltrim(</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #000000">NAME</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">)+</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff0000">'''</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'''</span><span style="color: #000000">,</span><span style="color: #008000">@c</span><span style="color: #808080">=</span><span style="color: #ff00ff">ISNULL</span><span style="color: #000000">(</span><span style="color: #008000">@c</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">''</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #000000">Name </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> tmp </span><span style="color: #0000ff">WHERE</span><span style="color: #000000"> </span><span style="color: #ff00ff">CHARINDEX</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff00ff">LTRIM</span><span style="color: #000000">(id)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@id</span><span style="color: #000000">)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"> </span><span style="color: #0000ff">ORDER</span><span style="color: #000000"> </span><span style="color: #0000ff">BY</span><span style="color: #000000"> id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@w</span><span style="color: #808080">=</span><span style="color: #ff00ff">STUFF</span><span style="color: #000000">(</span><span style="color: #008000">@w</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff0000">''</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #000000">N</span><span style="color: #ff0000">'</span><span style="color: #ff0000">if ((select count(*)*1.0 from 统计表 where </span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@w</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">=</span><span style="color: #ff0000">'''</span><span style="color: #808080">+</span><span style="color: #008000">@wh</span><span style="color: #808080">+</span><span style="color: #ff0000">'''</span><span style="color: #ff0000">)/</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff00ff">LTRIM</span><span style="color: #000000">(</span><span style="color: #008000">@num</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">&gt;</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #808080">+</span><span style="color: #ff00ff">LTRIM</span><span style="color: #000000">(</span><span style="color: #008000">@f</span><span style="color: #000000">) </span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">) insert # select </span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(</span><span style="color: #008000">@Step</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">''</span><span style="color: #ff0000">(</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #000000"> </span><span style="color: #008000">@c</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">）,</span><span style="color: #ff0000">'''</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">EXEC</span><span style="color: #000000">(</span><span style="color: #008000">@sql</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@j</span><span style="color: #808080">=</span><span style="color: #008000">@j</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">END</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@i</span><span style="color: #808080">=</span><span style="color: #008000">@i</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br /></span><span style="color: #0000ff">END</span><span style="color: #000000"> <br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #0000ff">NULL</span><span style="color: #000000"><br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #ff00ff">ISNULL</span><span style="color: #000000">(</span><span style="color: #008000">@sql</span><span style="color: #808080">+</span><span style="color: #ff0000">''</span><span style="color: #000000">,</span><span style="color: #ff0000">''</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #000000">result </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> (</span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #0000ff">DISTINCT</span><span style="color: #000000"> result </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> # ) aa<br /></span><span style="color: #0000ff">SET</span><span style="color: #000000"> </span><span style="color: #008000">@结果</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">{</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@sql</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">}</span><span style="color: #ff0000">'</span><span style="color: #000000"><br /><br /><br /></span><span style="color: #0000ff">GO</span><span style="color: #000000"><br /><br /><br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">)<br /></span><span style="color: #0000ff">exec</span><span style="color: #000000"> xb_GetArray </span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0.3</span><span style="color: #000000">,</span><span style="color: #008000">@sql</span><span style="color: #000000"> OUT<br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #000000"> 二维<br /><br /></span><span style="color: #008080">--</span><span style="color: #008080">result</span><span style="color: #008080"><br />/*</span><span style="color: #008080"><br />一维 <br />---------------------------------------------------------------------------<br />{(冰糖）,(玻璃杯）,(茶叶）,(方便面）,(面包）,(食盐）,(味素）,(牙刷）,(榨菜）,}<br /><br />（所影响的行数为 1 行）</span><span style="color: #008080">*/</span><span style="color: #000000"><br /><br /></span><span style="color: #0000ff">DECLARE</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #000000"> </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">)<br /></span><span style="color: #0000ff">exec</span><span style="color: #000000"> xb_GetArray </span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">0.3</span><span style="color: #000000">,</span><span style="color: #008000">@sql</span><span style="color: #000000"> OUT<br /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span><span style="color: #008000">@sql</span><span style="color: #000000"> 二维<br /></span><span style="color: #008080">/*</span><span style="color: #008080">二维&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- <br />{(冰糖,食盐）,(冰糖,榨菜）,(玻璃杯,冰糖）,(玻璃杯,食盐）,(玻璃杯,味素）,(玻璃杯,牙刷）,(玻璃杯,榨菜）,(茶叶,冰糖）,(茶叶,玻璃杯）,(茶叶,面包）,(茶叶,食盐）,(茶叶,榨菜）,(方便面,冰糖）,(方便面,玻璃杯）,(方便面,茶叶）,(方便面,食盐）,(面包,冰糖）,(面包,玻璃杯）,(面包,食盐）,(面包,榨菜）,(食盐,榨菜）,(牙刷,食盐）,}<br /><br />（所影响的行数为 1 行）</span><span style="color: #008080">*/</span></p></div><img src ="http://www.blogjava.net/AndyZhang/aggbug/356881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 17:18 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL 系统存储过程用法整理 </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356879.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 09:10:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356879.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ------------------------------------------------------------------------------------ Author : htl258(Tony)-- Date&nbsp;&nbsp; : 2010-07-06 23:13:19-- Version: Microsoft SQL Server 2008 (RTM) - 1...&nbsp;&nbsp;<a href='http://www.blogjava.net/AndyZhang/archive/2011/08/19/356879.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/356879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 17:10 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图片等多媒体文件插入到表 </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356878.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356878.html</guid><description><![CDATA[<p><span style="color: #000000"><span style="color: #0000ff">IF</span><span style="color: #000000"> </span><span style="color: #ff00ff">OBJECT_ID</span><span style="color: #000000"> (</span><span style="color: #ff0000">'</span><span style="color: #ff0000">file_table</span><span style="color: #ff0000">'</span><span style="color: #000000">, </span><span style="color: #ff0000">'</span><span style="color: #ff0000">U</span><span style="color: #ff0000">'</span><span style="color: #000000">) </span><span style="color: #0000ff">IS</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span></span></p>
<p><span style="color: #000000"><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">DROP</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> file_table; <br /></span><span style="color: #0000ff">GO</span><span style="color: #000000"><br /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> file_table(FileName </span><span style="color: #0000ff">nvarchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">60</span><span style="color: #000000">),&nbsp;FileType </span><span style="color: #0000ff">nvarchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">60</span><span style="color: #000000">), Document </span><span style="color: #0000ff">varbinary</span><span style="color: #000000">(</span><span style="color: #ff00ff">max</span><span style="color: #000000">))<br /></span><span style="color: #0000ff">GO</span></span></p>
<p><span style="color: #000000"></span></p>
<p><span style="color: #000000"><span style="color: #000000">
<p><span style="color: #0000ff">INSERT</span><span style="color: #000000"> </span><span style="color: #0000ff">INTO</span><span style="color: #000000"> file_table(FileName, FileType, Document) <br />&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #ff0000">'</span><span style="color: #ff0000">myText.txt</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件名,&nbsp; </span><span style="color: #ff0000">'</span><span style="color: #ff0000">.txt</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件类型,&nbsp; </span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span>&nbsp;</p>
<p>
<p><span style="color: #0000ff">&nbsp; &nbsp;FROM</span><span style="color: #000000"> </span><span style="color: #ff00ff">OPENROWSET</span><span style="color: #000000">(</span><span style="color: #0000ff">BULK</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">C:/myText.txt</span><span style="color: #ff0000">'</span><span style="color: #000000">, SINGLE_BLOB) </span><span style="color: #0000ff">AS</span><span style="color: #000000"> Document</span></p>
<p><span style="color: #000000"><br /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000"> </span><span style="color: #0000ff">INTO</span><span style="color: #000000"> file_table(FileName, FileType, Document) <br />&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #ff0000">'</span><span style="color: #ff0000">Img252837387.jpg</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件名, </span><span style="color: #ff0000">'</span><span style="color: #ff0000">.jpg</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件类型, </span><span style="color: #808080">*</span><span style="color: #000000"> </span></p>
<p><span style="color: #000000">&nbsp;&nbsp; </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> </span><span style="color: #ff00ff">OPENROWSET</span><span style="color: #000000">(</span><span style="color: #0000ff">BULK</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">C:/Img252837387.jpg</span><span style="color: #ff0000">'</span><span style="color: #000000">, SINGLE_BLOB) </span><span style="color: #0000ff">AS</span><span style="color: #000000"> Document</span></p>
<p><span style="color: #000000"><br /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000"> </span><span style="color: #0000ff">INTO</span><span style="color: #000000"> file_table(FileName, FileType, Document) <br />&nbsp;&nbsp; </span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;&nbsp;&nbsp; </span><span style="color: #ff0000">'</span><span style="color: #ff0000">1.rar</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件名,&nbsp; </span><span style="color: #ff0000">'</span><span style="color: #ff0000">.rar</span><span style="color: #ff0000">'</span><span style="color: #000000"> </span><span style="color: #0000ff">AS</span><span style="color: #000000"> 文件类型,&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000"> </span></p>
<p><span style="color: #000000">&nbsp;&nbsp; </span><span style="color: #0000ff">FROM</span><span style="color: #000000"> </span><span style="color: #ff00ff">OPENROWSET</span><span style="color: #000000">(</span><span style="color: #0000ff">BULK</span><span style="color: #000000"> </span><span style="color: #ff0000">'</span><span style="color: #ff0000">C:/1.rar</span><span style="color: #ff0000">'</span><span style="color: #000000">, SINGLE_BLOB) </span><span style="color: #0000ff">AS</span><span style="color: #000000"> Document<br /></span><span style="color: #0000ff">GO</span></p>
<p>&nbsp;</p></span></span><img src ="http://www.blogjava.net/AndyZhang/aggbug/356878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 16:59 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ROW_NUMBER、RANK、DENSE_RANK的用法(1) </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356871.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 08:49:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356871.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ROW_NUMBER、RANK、DENSE_RANK的用法 SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。 --------------------------------------------------------------------------...&nbsp;&nbsp;<a href='http://www.blogjava.net/AndyZhang/archive/2011/08/19/356871.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/356871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 16:49 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库分页查询 </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356870.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356870.html</guid><description><![CDATA[<div align="center"><span style="font-size: 26pt">数据库分页查询</span></div>
<div style="text-indent: 21pt">在这里主要讲解一下MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法。可能会有人说这些网上都有，但我的主要目的是把这些知识通过我实际的应用总结归纳一下，以方便大家查询使用。</div>
<div style="text-indent: 21pt">下面就分别给大家介绍、讲解一下三种数据库实现分页查询的方法。</div>
<div style="margin-left: 0cm"><span style="font-size: 16pt">一、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 16pt">MySQL </span><span style="font-size: 16pt">数据库分页查询</span></div>
<div style="text-indent: 21pt">MySQL数据库实现分页比较简单，提供了LIMIT函数。一般只需要直接写到sql语句后面就行了。</div>
<div style="text-indent: 21pt">LIMIT子句可以用来限制由SELECT语句返回过来的数据数量，它有一个或两个参数，如果给出两个参数， 第一个参数指定返回的第一行在所有数据中的位置，从0开始（注意不是1），第二个参数指定最多返回行数。例如： </div>
<div style="text-indent: 21pt">select * from table WHERE &#8230; LIMIT 10; #返回前10行 </div>
<div style="text-indent: 21pt">select * from table WHERE &#8230; LIMIT 0,10; #返回前10行</div>
<div style="text-indent: 21pt">select * from table WHERE &#8230; LIMIT 10,20; #返回第10-20行数据 </div>
<div style="text-indent: 21pt">&nbsp;</div>
<div style="margin-left: 0cm"><span style="font-size: 16pt">二、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 16pt">SQLServer</span><span style="font-size: 16pt">数据库分页查询</span></div>
<div style="text-indent: 21pt">SQLServer数据库又分为SQLServer2000和SQLServer2005。一般比较简单的方法是通过TOP函数来实现。如下：</div>
<div style="text-indent: 21pt">SELECT TOP 10 *&nbsp;FROM sql&nbsp;WHERE (</div>
<div style="text-indent: 21pt">code NOT IN &nbsp;(SELECT TOP 20 code &nbsp;FROM TestTable &nbsp;ORDER BY id))</div>
<div style="text-indent: 15.75pt">&nbsp;ORDER BY ID</div>
<div style="text-indent: 21pt">这条语句，从理论上讲，整条语句的执行时间应该比子句的执行时间长，但事实相反。因为，子句执行后返回的是20条记录，而整条语句仅返回10条语句，所以影响数据库响应时间最大的因素是物理I/O操作。而限制物理I/O操作此处的最有效方法之一就是使用TOP关键词了。TOP关键词是SQL SERVER中经过系统优化过的一个用来提取前几条或前几个百分比数据的词。</div>
<div style="text-indent: 21pt">以上语句的<span style="color: #111111">有一个致命的缺点，就是它含有</span><span style="color: #111111">NOT IN</span><span style="color: #111111">字样，要换成用</span><span style="color: #111111">not exists</span><span style="color: #111111">来代替</span><span style="color: #111111">not in</span><span style="color: #111111">，二者的执行效率实际上是没有区别的。</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">在以上分页算法中，影响我们查询速度的关键因素有两点：</span><span style="color: #111111">TOP</span><span style="color: #111111">和</span><span style="color: #111111">NOT IN</span><span style="color: #111111">。</span><span style="color: #111111">TOP</span><span style="color: #111111">可以提高我们的查询速度，而</span><span style="color: #111111">NOT IN</span><span style="color: #111111">会减慢我们的查询速度，所以要提高我们整个分页算法的速度，就要彻底改造</span><span style="color: #111111">NOT IN</span><span style="color: #111111">，同其他方法来替代它。</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">我们知道，几乎任何字段，我们都可以通过</span><span style="color: #111111">max(</span><span style="color: #111111">字段</span><span style="color: #111111">)</span><span style="color: #111111">或</span><span style="color: #111111">min(</span><span style="color: #111111">字段</span><span style="color: #111111">)</span><span style="color: #111111">来提取某个字段中的最大或最小值，所以如果这个字段不重复，那么就可以利用这些不重复的字段的</span><span style="color: #111111">max</span><span style="color: #111111">或</span><span style="color: #111111">min</span><span style="color: #111111">作为分水岭，使其成为分页算法中分开每页的参照物。在这里，我们可以用操作符</span><span style="color: #111111">&#8220;&gt;&#8221;</span><span style="color: #111111">或</span><span style="color: #111111">&#8220;&lt;&#8221;</span><span style="color: #111111">号来完成这个使命。如：</span><span style="color: #111111"><br /><br />Select top 10 * from table1 where id&gt;200<br /><br /></span><span style="color: #111111">　　于是就有了如下分页方案：</span></div>
<div style="text-indent: 21pt"><span style="color: #111111"><br />select top </span><span style="color: #111111">页大小</span><span style="color: #111111"> *<br /><br />from table1 <br /><br />where id&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (select max (id) from <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (select top ((</span><span style="color: #111111">页码</span><span style="color: #111111">-1)*</span><span style="color: #111111">页大小</span><span style="color: #111111">) id from table1 order by id) as T<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp; <br /><br />&nbsp; order by id</span></div>
<div style="text-indent: 21pt">&nbsp;</div>
<div style="text-indent: 21pt"><span style="color: #111111">这种方法执行多少</span><span style="color: #111111">始终没有大的降势，后劲仍然很足。尤其对于数据量大的时候，该方法执行速度一点也不会降低。</span></div>
<div style="text-indent: 21pt"><span style="color: blue">使用</span><span style="color: blue">TOP</span><span style="color: blue">要求主键必须唯一，不能是联合主键。如果是联合主键，则查询出的结果会乱序的。</span></div>
<div style="text-indent: 21pt">目前SQLServer2005提供了一个row_number()函数。<span style="font-size: 10pt">ROW_NUMBER() </span><span style="font-size: 10pt">就是生成一个顺序的行号</span><span style="font-size: 10pt">,</span><span style="font-size: 10pt">而他生成顺序的标准</span><span style="font-size: 10pt">,</span><span style="font-size: 10pt">就是后面紧跟的</span><span style="font-size: 10pt">OVER(ORDER BY ReportID)</span><span style="font-size: 10pt">，其中</span><span style="font-size: 10pt">ReportID</span><span style="font-size: 10pt">可以是联合主键。下面</span><span style="font-size: 10pt">,</span><span style="font-size: 10pt">我们看看怎么具体应用这个</span><span style="font-size: 10pt">RowNo</span><span style="font-size: 10pt">进行分页</span><span style="font-size: 10pt">.</span> </div>
<div style="text-indent: 21pt"><span style="font-size: 10pt">SELECT TOP 10 * &nbsp;FROM </span></div>
<div style="text-indent: 21pt"><span style="font-size: 10pt">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT top 10 ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM TABLE <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) AS A<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE RowNo &gt; " + pageIndex*10</span></div>
<div style="text-indent: 21pt"><span style="font-size: 10pt">pageIndex</span><span style="font-size: 10pt">就是我们需要数据的页数</span><span style="font-size: 10pt">.</span></div>
<div style="text-indent: 21pt">&nbsp;</div>
<div style="text-indent: 21pt"><span style="color: red">但对于</span><span style="color: red">SQLServer2000</span><span style="color: red">的话，如果是联合主键，我还没有解决办法，如果大家有可跟我联系。谢谢大家了。</span></div>
<div style="text-indent: 21pt">&nbsp;</div>
<div style="margin-left: 0cm"><span style="font-size: 16pt">三、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 16pt">ORCALE</span><span style="font-size: 16pt">数据库分页查询</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">ORCALE</span><span style="color: #111111">数据库实现分页查询可以使用</span><span style="color: #111111">row_number()</span><span style="color: #111111">函数或者使用</span><span style="color: #111111">rownum </span><span style="color: #111111">虚列两种方法。</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">第一种：利用分析函数</span><span style="color: #111111">row_number() </span><span style="color: #111111">方法</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">select * from(</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">select t.*,row_number() over (order by t1.id) rowno from TABLE1</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">)</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">where rowno between 21 and 40;</span></div>
<div style="text-indent: 21pt">&nbsp;</div>
<div style="text-indent: 21pt"><span style="color: #111111">第二种：直接使用</span><span style="color: #111111">rownum </span><span style="color: #111111">虚列</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">select * from </span></div>
<div style="text-indent: 21pt"><span style="color: #111111">(select t.*,rownum as rowno from TABLE1 )</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">where rowno between 10 and 20</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">这两种方法比较，显然第二种方法比较好。因为不用</span><span style="color: #111111">order by</span><span style="color: #111111">语句，会提高检索数据的速度的，尤其数据量越大时，第二种方法快速检索数据越明显。</span></div>
<div style="text-indent: 21pt"><span style="color: #111111">最后提醒大家：</span><strong><span style="font-size: 10pt; color: navy">oracle</span></strong><strong><span style="font-size: 10pt; color: navy">中慎用带有</span></strong><strong><span style="font-size: 10pt; color: navy">order by</span></strong><strong><span style="font-size: 10pt; color: navy">的分页。</span></strong><strong><span style="font-size: 10pt; color: red">尤其是在</span></strong><strong><span style="font-size: 10pt; color: red">oracle10g</span></strong><strong><span style="font-size: 10pt; color: red">中</span></strong><span>，会出现</span><span style="font-size: 10pt">会引起混乱，即相同记录会出现在不同页中。</span></div>
<div>&nbsp;</div>
<div><strong><span style="font-size: 16pt; color: #111111">结束语：</span></strong></div>
<div style="text-indent: 21pt"><span style="color: #111111">希望这篇文章不仅能够给大家的工作带来一定的帮助，也希望能让大家能够体会到分析问题的方法；最重要的是，希望这篇文章能够抛砖引玉，掀起大家的学习和讨论的兴趣，以共同促进。还有其中红色的字如果谁知道解决办法请告诉我，我会尽快补上的。</span></div><img src ="http://www.blogjava.net/AndyZhang/aggbug/356870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 16:47 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法（2）</title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356869.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Fri, 19 Aug 2011 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/19/356869.html</guid><description><![CDATA[<p>SQL server 2005新增的几个函数,分别是<span style="color: #0000ff">row_number( </span><span style="color: #0000ff">)</span>、<span style="color: #0000ff">rank( )、</span>,<span style="color: #0000ff">DENSE_RANK( )</span>、<span style="color: #0000ff">ntile( )</span>下面以实例分别简单讲解。<br /><br />1.<span style="color: #0000ff">row_number( )</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先来点数据,先建个表 </p>
<div class="postText">SET NOCOUNT ON<br />CREATE TABLE Person(<br />FirstName VARCHAR(10),<br />Age INT,<br />Gender CHAR(1))<br />INSERT INTO Person VALUES ('Ted',23,'M')<br />INSERT INTO Person VALUES ('John',40,'M')<br />INSERT INTO Person VALUES ('George',6,'M')<br />INSERT INTO Person VALUES ('Mary',11,'F')<br />INSERT INTO Person VALUES ('Sam',17,'M')<br />INSERT INTO Person VALUES ('Doris',6,'F')<br />INSERT INTO Person VALUES ('Frank',38,'M')<br />INSERT INTO Person VALUES ('Larry',5,'M')<br />INSERT INTO Person VALUES ('Sue',29,'F')<br />INSERT INTO Person VALUES ('Sherry',11,'F')<br />INSERT INTO Person VALUES ('Marty',23,'F')</div>
<div class="postText">直接用例子说明问题:</div>
<div class="postText">SELECT <span style="color: #0000ff">ROW_NUMBER() OVER</span> (ORDER BY Age) AS [Row Number by Age],<br />FirstName,<br />Age<br />FROM Person</div>
<div class="postText"><br />出现的数据如下<br />Row Number by Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age<br />--------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --------<br />1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5<br />2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br />3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br />4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11<br />5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11<br />6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23<br />8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23<br />9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29<br />10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38<br />11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40</div>
<div class="postText" sizset="0" sizcache="0"><pre>可以观察到,是根据年龄升序排列了，并且row_number()是给出了序列号了,这个序列号被重命名为Row Number by Age,</pre><pre>与<span style="color: #ff00ff"><strong>sql server2000</strong></span>对比:<br />如果在sql server2000中实现相对麻烦一些，我们可以利用IDENTITY()函数实现，但IDENTITY()函数只能用在sql server2000临时表中，因此需要将数据检索到临时表里。<br /><span style="color: #ff00ff">select identity(int,1,1) as <span style="color: #ff00ff">[Row Number by Age]</span>,FirstName,Age into #A from Person order by Age<br />select * from #A<br />drop table #a</span></pre><pre>如果不想按年龄排序,可以这样写<br />SELECT <span style="color: #0000ff">ROW_NUMBER() OVER</span> (ORDER BY (SELECT 1)) AS [Row Number by Record Set], FirstName, Age FROM Person</pre><pre>另外一个例子<br />SELECT <span style="color: #0000ff">ROW_NUMBER() OVER</span> (PARTITION BY Gender ORDER BY Age) AS [Partition by Gender], FirstName, Age, Gender FROM Person</pre></div>
<div class="postText" sizset="4" sizcache="0">这里是按性别划分区间了，同一性别再按年龄来排序,输出结果如下<br /><pre>Partition by Gender&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gender -------------------- ---------- ----------- ------ 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M</pre>注意,姓名M开始,序号又从1,2,3开始了<br /><pre> </pre><pre>2<span style="font-family: Arial">.</span><span style="color: #0000ff">RANK( )</span>函数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先看例子<br />SELECT <span style="color: #0000ff">RANK() OVER</span> (ORDER BY Age) AS [Rank by Age], FirstName, Age FROM Person</pre><pre>输出如下:<br />Rank by Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age -------------------- ---------- ----------- 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40</pre><pre>看到了么,同年岭的话,将有相同的顺序,顺序成1,2,2,4了。</pre><pre>与<span style="color: #ff00ff"><strong>sql server2000</strong></span>对比:<br />出现了RANK()函数实在是方便,在sql server2000里实现排序并列的问题麻烦很多。<br /><span style="color: #ff00ff">select [<span style="color: #ff00ff">Rank by Age</span>]=isnull((select count(*) from person where Age&gt;A.Age),0)+1,FirstName,Age from Person A order by [<span style="color: #ff00ff">Rank by Age</span>]</span></pre><pre> </pre><pre>SELECT <span style="color: #0000ff">RANK() OVER</span>(PARTITION BY Gender ORDER BY Age) AS [Partition by Gender],<br />FirstName, Age, Gender FROM Person输出为</pre><pre>Partition by Gender&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gender -------------------- ---------- ----------- ------ 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M</pre>
<p>可以看到,按性别分组了,每个性别分组里,继续是用了rank( )函数<br /><br /><span style="font-family: Courier New">3<span style="font-family: Arial">.</span><span style="color: #0000ff">DENSE_RANK( )</span>函数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT <span style="color: #0000ff">DENSE_RANK() OVER </span>(ORDER BY Age) AS [Dense Rank by Age], <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM Person<br /></span><span style="font-family: Courier New"><br />输出结果为:<br />Dense Rank by Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age<br />-------------------- ---------- -----------<br />1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5<br />2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br />2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br />3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11<br />3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11<br />4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23<br />5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23<br />6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29<br />7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38<br />8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40</span><br /><br />看到了么,和rank函数区别是,顺序始终是连续的,<span style="font-family: Courier New">Doris 和George同年,都是排第2位,但之后的mary不象rank函数那样排第4,而是排第3位了<br /><br /><br />4<span style="font-family: Arial">.</span><span style="color: #0000ff">ntile( )</span>函数<br /></span>SELECT FirstName,<br />Age,<br /><span style="color: #0000ff">NTILE(3) OVER </span>(ORDER BY Age) AS [Age Groups]<br />FROM Person</p>
<p>输出结果：<br />FirstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Age Groups<br />---------- ----------- --------------------<br />Larry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />Doris&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />Mary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />Sherry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br />Sam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br />Ted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br />Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br />Sue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br />Frank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br />John&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br />这个函数按照ntile(n)中的N,把记录强制分成多少段,11条记录现在分成3段了,lary到mary是第1段,sherry到maty是第2段,sue到john是第3段了。</p></div>
<p>&nbsp;</p> <img src ="http://www.blogjava.net/AndyZhang/aggbug/356869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-19 16:45 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/19/356869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql where 1=1和 0=1 的作用 </title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/18/356806.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Thu, 18 Aug 2011 10:50:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/18/356806.html</guid><description><![CDATA[<p><span>where 1=1; 这个条件始终为True，在不定数量查询条件情况下，</span><span class="number"><span style="color: #c00000" color="#c00000">1</span></span><span>=</span><span class="number"><span style="color: #c00000" color="#c00000">1</span></span><span>可以很方便的规范语句。</span></p>
<p>一、不用where&nbsp;<wbr></wbr>&nbsp;1=1&nbsp;<wbr></wbr>&nbsp;在多条件查询中的困扰</p>
<p><wbr></wbr><wbr></wbr></p><wbr></wbr><wbr></wbr>
<p>　　举个例子，如果您做查询页面，并且，可查询的选项有多个，同时，还让用户自行选择并输入查询关键词，那么，按平时的查询语句的动态构造，代码大体如下：</p>
<p>　　string MySqlStr=&#8221;select * from table where&#8221;；</p>
<p>　　if(Age.Text.Lenght&gt;0)<br />　　{<br />　　　　MySqlStr=MySqlStr+&#8220;Age=&#8220;+&#8220;'Age.Text'&#8220;；<br />　　}</p>
<p>　　if(Address.Text.Lenght&gt;0)<br />　　{<br />　　　　MySqlStr=MySqlStr+&#8220;and Address=&#8220;+&#8220;'Address.Text'&#8220;；<br />　　}</p>
<p>　　&#9312;种假设</p>
<p>　　如果上述的两个IF判断语句，均为True，即用户都输入了查询词，那么，最终的MySqlStr动态构造语句变为：</p>
<p>　　MySqlStr=&#8221;select * from table where Age='18'&nbsp;<wbr></wbr>&nbsp;and Address='云南省文山州广南县小波吗村'&#8221;</p>
<p><wbr></wbr></p><wbr></wbr>
<p>　　可以看得出来，这是一条完整的正确的SQL查询语句，能够正确的被执行，并根据数据库是否存在记录，返回数据。</p>
<p>　　&#9313;种假设</p>
<p>　　如果上述的两个IF判断语句不成立，那么，最终的MySqlStr动态构造语句变为：</p>
<p>　　MySqlStr=&#8221;select * from table where&#8220;</p>
<p>　　现在，我们来看一下这条语句，由于where关键词后面需要使用条件，但是这条语句根本就不存在条件，所以，该语句就是一条错误的语句，肯定不能被执行，不仅报错，同时还不会查询到任何数据。</p>
<p>　　上述的两种假设，代表了现实的应用，说明，语句的构造存在问题，不足以应付灵活多变的查询条件。</p>
<p>　　二、使用 where&nbsp;<wbr></wbr>&nbsp;1=1&nbsp;<wbr></wbr>&nbsp;的好处</p>
<p><wbr></wbr><wbr></wbr></p><wbr></wbr><wbr></wbr>
<p>　　假如我们将上述的语句改为：</p>
<p>　　string MySqlStr=&#8221;select * from table where&nbsp;<wbr></wbr>&nbsp;1=1 &#8221;；</p>
<p><wbr></wbr></p><wbr></wbr>
<p>　　if(Age.Text.Lenght&gt;0)<br />　　{<br />　　　　MySqlStr=MySqlStr+&#8220;and Age=&#8220;+&#8220;'Age.Text'&#8220;；<br />　　}</p>
<p>　　if(Address.Text.Lenght&gt;0)<br />　　{<br />　　　　MySqlStr=MySqlStr+&#8220;and Address=&#8220;+&#8220;'Address.Text'&#8220;；<br />　　}</p>
<p>　　现在，也存在两种假设</p>
<p>　　&#9312;种假设</p>
<p>　　如果两个IF都成立，那么，语句变为：</p>
<p>　　MySqlStr=&#8221;select * from table where&nbsp;<wbr></wbr>&nbsp;1=1 and Age='18'&nbsp;<wbr></wbr>&nbsp;and Address='云南省文山州广南县小波吗村'&#8221;，很明显，该语句是一条正确的语句，能够正确执行，如果数据库有记录，肯定会被查询到。</p>
<p><wbr></wbr><wbr></wbr></p><wbr></wbr><wbr></wbr>
<p>　　&#9313;种假设</p>
<p>　　如果两个IF都不成立，那么，语句变为：</p>
<p>　　MySqlStr=&#8221;select * from table where 1=1&#8221;，现在，我们来看这条语句，由于where 1=1 是为True的语句，因此，该条语句语法正确，能够被正确执行，它的作用相当于：MySqlStr=&#8221;select * from table&#8221;，即返回表中所有数据。</p>
<p>　　言下之意就是：如果用户在多条件查询页面中，不选择任何字段、不输入任何关键词，那么，必将返回表中所有数据；如果用户在页面中，选择了部分字段并且输入了部分查询关键词，那么，就按用户设置的条件进行查询。</p>
<p>　　说到这里，不知道您是否已明白，其实，where 1=1的应用，不是什么高级的应用，也不是所谓的智能化的构造，仅仅只是为了满足多条件查询页面中不确定的各种因素而采用的一种构造一条正确能运行的动态SQL语句的一种方法。</p>
<p>where 1=0; 这个条件始终为false，结果不会返回任何数据，只有表结构，可用于快速建表</p>
<p><span class="string">"SELECT&nbsp;*&nbsp;FROM&nbsp;strName&nbsp;WHERE&nbsp;1&nbsp;=&nbsp;0"</span><span>; </span>该select语句主要用于读取表的结构而不考虑表中的数据，这样节省了内存，因为可以不用保存结果集。 &nbsp;</p>
<p>create&nbsp;table&nbsp;newtable&nbsp;as&nbsp;select&nbsp;*&nbsp;from&nbsp;oldtable&nbsp;where&nbsp;<span class="number">1</span><span>=</span><span class="number">0</span><span>; &nbsp;创建一个新表，而新表的结构与查询的表的结构是一样的.<br /><br /></p>
<p>1=1 永真， 1&lt;&gt;1 永假。</p>
<p>1&lt;&gt;1 的用处：<br />用于只取结构不取数据的场合<br />例如：<br />create table table_temp tablespace tbs_temp as<br />select * from table_ori where 1&lt;&gt;1 <br />建成一个与table_ori 结构相同的表table_temp，但是不要table_ori 里的数据。（除了表结构，其它结</p>
<p>构也同理)<br /></span></p><img src ="http://www.blogjava.net/AndyZhang/aggbug/356806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-18 18:50 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/18/356806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>T-SQL 常用排名函数  出处：http://xugang.cnblogs.com</title><link>http://www.blogjava.net/AndyZhang/archive/2011/08/08/356028.html</link><dc:creator>SkyDream</dc:creator><author>SkyDream</author><pubDate>Mon, 08 Aug 2011 08:15:00 GMT</pubDate><guid>http://www.blogjava.net/AndyZhang/archive/2011/08/08/356028.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/AndyZhang/archive/2011/08/08/356028.html'>阅读全文</a><img src ="http://www.blogjava.net/AndyZhang/aggbug/356028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AndyZhang/" target="_blank">SkyDream</a> 2011-08-08 16:15 <a href="http://www.blogjava.net/AndyZhang/archive/2011/08/08/356028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>