sql查询中显示序号
sql查询中显示序号
2009-06-04 09:27
/* 方法一*/
SELECT序号= (SELECT COUNT(客户编号) from 客户 AS LiMing
WHERE LiMing.客户编号<= Chang.客户编号),
客户编号,公司名称
from客户 AS Chang ORDER BY 1;
GO
/* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/
SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号,公司名称
from客户;
GO
/* 方法三*/
SELECT序号= COUNT(*), LiMing.客户编号, LiMing.公司名称
from 客户 AS LiMing, 客户AS Chang
WHERE LiMing.客户编号>= Chang.客户编号
GROUP BY LiMing.客户编号, LiMing.公司名称
ORDER BY 序号;
GO
/* 方法四
建立一个「自动编号」的字段,然后将数据新增至一个区域性暂存数据表,
然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表
*/
SELECT序号= IDENTITY(INT,1,1),管道,程序语言,讲师,资历
INTO #LiMing
from问券调查一;
GO
SELECT * from #LiMing;
GO
DROP TABLE #LiMing;
GO
/*
方法五
使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法
搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据
*/
WITH排序后的图书 AS
(SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号,公司名称
from 客户)
SELECT * from 排序后的图书
WHERE序号 BETWEEN 2 AND 4;
GO
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
Copy 以下内容到查询分析器操作:
-- 3 ****************************************************
-- 熟悉系统自带的一些函数
-- 3.1 --------------------------------------------------
-- 数学函数
-- ABS(num_expression) 返回给定数值表达式的绝对值
-- C ......
错误如下:
Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ ......
在有时候使用in语句查询的时候,in语句中很多项,如15项,自己同时想让查询出来结果能够按照in语句中该字段顺序查询出来。
而Sql Server是默认按照自己的顺序排列出来的,所以一定会把结果集重新排序的。
而如果使用case when的方法虽然很繁琐,但也是可以实现的
select item_code,apply_dep ......