两种形式的分组排名
2010-02-01 16:40
246 查看
--建表
CREATE TABLE TEST
(
[ID] INT,
IDS DECIMAL(18,4),
[TIME] DATETIME
)
--测试数据
INSERT INTO TEST
SELECT 20.36,1,'2009-09-30'
UNION ALL
SELECT 20.36,1,'2009-09-30'
UNION ALL
SELECT 14.37,1,'2009-09-30'
UNION ALL
SELECT 23.56,1,'2009-09-30'
UNION ALL
SELECT 25.16,1,'2009-09-30'
UNION ALL
SELECT 20.36,2,'2009-06-30'
UNION ALL
SELECT 14.37,2,'2009-06-30'
UNION ALL
SELECT 23.56,2,'2009-06-30'
UNION ALL
SELECT 25.16,2,'2009-06-30'
UNION ALL
SELECT NULL,2,'2009-06-30'
--形式1:
--此形式排名结果类似于1 2 2 3 的结果显示
SELECT *,ORID=(SELECT COUNT(DISTINCT IDS)--IDS 排序字段
FROM TEST
WHERE IDS>=A.IDS AND [ID]=A.[ID] AND [TIME]=A.[TIME]
GROUP BY [TIME],[ID] --分类字段
)
FROM TEST AS A
--形式2:
--此形式排名结果类似于1 2 2 3 的结果显示
SELECT *,ORID=CASE
WHEN IDS IS NULL THEN NULL
ELSE ISNULL((SELECT COUNT(IDS)--IDS 排序字段
FROM TEST
WHERE IDS>A.IDS AND [ID]=A.[ID] AND [TIME]=A.[TIME]
GROUP BY [TIME],[ID] --分类字段
),0)+1 END
FROM TEST AS A
CREATE TABLE TEST
(
[ID] INT,
IDS DECIMAL(18,4),
[TIME] DATETIME
)
--测试数据
INSERT INTO TEST
SELECT 20.36,1,'2009-09-30'
UNION ALL
SELECT 20.36,1,'2009-09-30'
UNION ALL
SELECT 14.37,1,'2009-09-30'
UNION ALL
SELECT 23.56,1,'2009-09-30'
UNION ALL
SELECT 25.16,1,'2009-09-30'
UNION ALL
SELECT 20.36,2,'2009-06-30'
UNION ALL
SELECT 14.37,2,'2009-06-30'
UNION ALL
SELECT 23.56,2,'2009-06-30'
UNION ALL
SELECT 25.16,2,'2009-06-30'
UNION ALL
SELECT NULL,2,'2009-06-30'
--形式1:
--此形式排名结果类似于1 2 2 3 的结果显示
SELECT *,ORID=(SELECT COUNT(DISTINCT IDS)--IDS 排序字段
FROM TEST
WHERE IDS>=A.IDS AND [ID]=A.[ID] AND [TIME]=A.[TIME]
GROUP BY [TIME],[ID] --分类字段
)
FROM TEST AS A
--形式2:
--此形式排名结果类似于1 2 2 3 的结果显示
SELECT *,ORID=CASE
WHEN IDS IS NULL THEN NULL
ELSE ISNULL((SELECT COUNT(IDS)--IDS 排序字段
FROM TEST
WHERE IDS>A.IDS AND [ID]=A.[ID] AND [TIME]=A.[TIME]
GROUP BY [TIME],[ID] --分类字段
),0)+1 END
FROM TEST AS A
相关文章推荐
- log4j 日志配置 -- properties 和 xml两种形式
- 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
- exp_euler两种形式int,void(扩展欧几里得算法)----可求最大公约数,二元一次方程的解
- 两种视频播放形式和 视频截图
- 文件的逻辑结构有哪两种形式?
- Andrew Ng 机器学习笔记 01 :机器学习的两种形式
- 今天开始学Java 现在现在有一台机器,这台机器可以接收两种形式任务:
- ReactNative 自定义Android原生模块的两种形式
- 在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只熟悉两种编
- 正确认识使用UML中的类图——辨析类图的两种存在形式
- UIActivityIndicatorView的两种形式 用法一:只显示不停旋转的进度滚轮指示器。
- EasyUI datagrid toolbar常用的两种形式
- android 切换卡的两种种形式
- python 类C数组的两种形式:list -->内容可变, tuple --->内容不可变
- SQL分组取每组前一(或几)条记录(排名)
- 关于ueditor表格不显示边框的两种形式
- Response.Redirect 打开这两种方法的一种新形式
- 分组汇总 with rollup和with cube和compute by 和排名函数
- UIActivityIndicatorView的两种形式
- thinkphp的model的where条件的两种形式