关于如何在查询结果中添加自动编号

2016-01-29 16:18 22 1 收藏

关于如何在查询结果中添加自动编号,关于如何在查询结果中添加自动编号

【 tulaoshi.com - SQLServer 】

  往往经常有这样的需求,我需要在查询的结果中添加一列类似于Identity的数字,虽然在Client编程中并不难实现,但是有时我想留用现有的Class,不希望在Client side做额外的coding,那么就只有在Sql里面想办法了
首先介绍一种用一条SQL语句完成的办法,原理是在结果中查询大于等于该纪录的纪录条数,就可以得到它的Rank了
Example:
USE pubs
SELECT COUNT(*) AS Rank, a1.au_lname, a1.au_fname
   FROM authors a1, authors a2
   WHERE a1.au_lname + a1.au_fname = a2.au_lname + a2.au_fname
   GROUP BY a1.au_lname, a1.au_fname
   ORDER BY Rank
不过呢,这种方法有它的局限性,第一是性能不好,第二是如果存在相同的纪录,那么Rank就会出现并列的情况,比如出现两个2,但是没有3了
有没有别的方法呢?当然有的,SQL提供了一个IDENTITY Function,可以得到标识列的值,不过可惜的很的是,这个函数只能用于SELECT INTO语句,所以我们只好引入一个临时表了
Example:
USE pubs
SELECT IDENTITY(INT, 1, 1) AS Rank,au_lname,au_fname
   INTO #tmp
   FROM authors
SELECT * FROM #tmp
DROP TABLE #tmp
这种方法的性能和适用性都比第一种方法要强,不过缺点是必须通过几条SQL语句才能完成。
所以如果可能的话,一般还是建议在客户端完成这一操作

Thanks for your read and any advise.

 

来源:http://www.tulaoshi.com/n/20160129/1498220.html

延伸阅读
在平常的办公中,经常碰到需要在Word中求和的情况,而用过Excel的朋友都知道,在Excel的常用工具栏中有一个〔自动求和〕按钮很方便。其实,在Word 2003的表格中,也可以使用〔自动求和〕按钮,当然,这需要想办法把〔自动求和〕按钮调出来才行,其方法是: 1. 在“工具”菜单中单击“自定义”命令。 2. 选择“命令...
标签: word
新建word文档 首先,我们应当新建一个Word文档,在桌面上双击打开。 页面布局 选中你想要加边框的内容或者段落,然后选中“页面布局”选项卡,找到页面背景。 边框设置 然后继续点击页面边框,会弹出一个页面边框的操作弹窗。 直接切换到,边框,选中左边的“方框”样式。 检查效果 接下来直...
标签: 电脑入门
在用powerpoint为公司做演示文稿时,最好每一页都加上公司的Logo,这样可以间接地为公司做免费广告。如何每一张都插入也可以但是很麻烦,其实我们可以在母版中一次性搞好,并且在普通试图中编辑文字是也不会造成不小心删除等情况: 具体步骤如下: 步骤一、单击视图菜单下母版中的幻灯片母版; 步骤二、在 幻灯片母版视图中,单击插入菜单...
标签: flash教程
1、从网上下载一张素材,将素材导入flash软件中。 2、新建一个图层,图层1是我们的背景图层,接着我们就要在图层2开始制作文字。   3、选择工具面板中的文字工具。 ...
标签: 电脑 PPT
点击插入声音 打开已经制作好的PPT幻灯片。依次点击“插入”、“声音”命令按钮,选择“文件中的声音”命令。 选择音频 在弹出的文件选择对话框,选择你需要的音频文件,点击确定按钮。 自动播放音频 选择好音乐文件后,PPT页面会出现一个小喇叭的图标,这就是插入的音乐文件,当我们按F5播放时,背景音乐就会自...

经验教程

651

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部