在SQL Server中如何输出行号
原文地址:http://www.dingos.cn/index.php?topic=1688.0
Oracle有rownum用于访问表中行号。那么在SQL Server中是否有等效的呢?或者在SQL Server中如何输出行号?
-----------------------------------
在SQL Server中没有直接等效于Oracle的rownum
-----------------------------------
严格说来,在关系数据库中,表中的行是没有序的并且行号没有正真的意义。如果需要这个功能,可以有如下三种考虑:
在表中添加一个自动增长列。
使用下列查询为每一行产生一个行号。下列查询为pubs数据库每一行产生一个行号。为这个查询工作,这个表必须哟唯一约束。
-----------------------------------------------
SELECT (SELECT COUNT(i.au_id)
from pubs..authors i
WHERE i.au_id >= o.au_id ) AS RowID,
au_fname + ' ' + au_lname AS 'Author name'
from pubs..authors o
ORDER BY RowID
-----------------------------------------
使用临时表实现,将整个结果集存储在一个临时表中,跟有一个由IDENTITY()函数参数的行号。创建临时表代价是比较昂贵的,尤其是对比较大的表进行操作。
相关文档:
SqlServer 的性能比 Access 提高的不止一点了。
不过,科汛CMS的免费版带的是 Access 数据库。
有没有办法转成 mssql 的呢?当然可以
1, mssql中新建一张表,然后导入 access 里面的表和数据.
这个网上有方法,不多说了。
2, 修改 conn.asp 到 sql server 版本,这个也简单。
3, 浏览数据,直接就可以看 ......
protected void Button1_Click(object sender, EventArgs e)
{
string strsql = "select * from TreeViewTemp where parentID=0";
DataTable dt = db.GetDataTable(strsql);
StringWriter sw = new StringWriter();
//StreamWriter sw = new Strea ......
--
SQL Server Split函数
--
Author:zc_0101
--
说明:
--
支持分割符多字节
--
使用方法
--
Select * from DBO.F_SQLSERVER_SPLIT('1203401230105045','0')
--
select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234',' ......
SQL聚合函
标签:sql聚合函数 杂谈
聚合函数:
1.AVG 返回组中的平均值,空值将被忽略。
例如:use northwind // 操作northwind数据库
Go
Select avg (unitprice) //从表中选择求unitprice的平均值
& ......
SQL优化34条
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving tabl ......