- 浏览: 1741311 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
中值有两种定义:
1、当组中包含奇数个元素时,我们将直接返回中间的值
2、当组中包含偶数个元素时,返回两个中间值的平均值
示例:
--构造Groups表
IF OBJECT_ID('dbo.Groups') IS NOT NULL
DROP TABLE dbo.Groups;
GO
CREATE TABLE dbo.Groups
(
groupid VARCHAR(10) NOT NULL,
memberid INT NOT NULL,
string VARCHAR(10) NOT NULL,
val INT NOT NULL,
PRIMARY KEY (groupid, memberid)
);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('a', 3, 'stra1', 6);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('a', 9, 'stra2', 7);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 2, 'strb1', 3);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 4, 'strb2', 7);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 5, 'strb3', 3);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 9, 'strb4', 11);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 3, 'strc1',;
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 7, 'strc2', 10);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 9, 'strc3', 12);
GO
--使用NTILE求中值
WITH Tiles AS
(
SELECT groupid, val,
NTILE(2) OVER(PARTITION BY groupid ORDER BY val) AS tile
FROM dbo.Groups
),
GroupedTiles AS
(
SELECT groupid, tile, COUNT(*) AS cnt,
CASE WHEN tile = 1 THEN MAX(val) ELSE MIN(val) END AS val
FROM Tiles
GROUP BY groupid, tile
)
SELECT groupid,
CASE WHEN MIN(cnt) = MAX(cnt) THEN AVG(1.*val)
ELSE MIN(val) END AS median
FROM GroupedTiles
GROUP BY groupid;
--利用ROW_NUMBER求中值,参与中值计算的两个值得绝对差小于或等于1
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER()
OVER(PARTITION BY groupid ORDER BY val, memberid) AS rna,
ROW_NUMBER()
OVER(PARTITION BY groupid ORDER BY val DESC, memberid DESC) AS rnd
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE ABS(rna - rnd) <= 1
GROUP BY groupid;
--通过从第一个行号衍生出第二个行号,降序行号可以用组中的行数减去升序行号再加1得到
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER() OVER(PARTITION BY groupid ORDER BY val) AS rn,
COUNT(*) OVER(PARTITION BY groupid) AS cnt
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE ABS(2*rn - cnt - 1) <= 1
GROUP BY groupid;
--IN((cnt+1)/2, (cnt+2)/2)方法
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER() OVER(PARTITION BY groupid ORDER BY val) AS rn,
COUNT(*) OVER(PARTITION BY groupid) AS cnt
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE rn IN((cnt+1)/2, (cnt+2)/2)
GROUP BY groupid;
GO
--使用top的方法求中值SELECT DISTINCT groupid,
((SELECT MAX(val)
FROM (SELECT TOP 50 PERCENT val
FROM dbo.Groups AS H1
WHERE H1.groupid = G.groupid
ORDER BY val) AS M1)
+
(SELECT MIN(val)
FROM (SELECT TOP 50 PERCENT val
FROM dbo.Groups AS H2
WHERE H2.groupid = G.groupid
ORDER BY val DESC) AS M2))
/2. AS median
FROM dbo.Groups AS G;
1、当组中包含奇数个元素时,我们将直接返回中间的值
2、当组中包含偶数个元素时,返回两个中间值的平均值
示例:
--构造Groups表
IF OBJECT_ID('dbo.Groups') IS NOT NULL
DROP TABLE dbo.Groups;
GO
CREATE TABLE dbo.Groups
(
groupid VARCHAR(10) NOT NULL,
memberid INT NOT NULL,
string VARCHAR(10) NOT NULL,
val INT NOT NULL,
PRIMARY KEY (groupid, memberid)
);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('a', 3, 'stra1', 6);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('a', 9, 'stra2', 7);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 2, 'strb1', 3);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 4, 'strb2', 7);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 5, 'strb3', 3);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('b', 9, 'strb4', 11);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 3, 'strc1',;
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 7, 'strc2', 10);
INSERT INTO dbo.Groups(groupid, memberid, string, val)
VALUES('c', 9, 'strc3', 12);
GO
--使用NTILE求中值
WITH Tiles AS
(
SELECT groupid, val,
NTILE(2) OVER(PARTITION BY groupid ORDER BY val) AS tile
FROM dbo.Groups
),
GroupedTiles AS
(
SELECT groupid, tile, COUNT(*) AS cnt,
CASE WHEN tile = 1 THEN MAX(val) ELSE MIN(val) END AS val
FROM Tiles
GROUP BY groupid, tile
)
SELECT groupid,
CASE WHEN MIN(cnt) = MAX(cnt) THEN AVG(1.*val)
ELSE MIN(val) END AS median
FROM GroupedTiles
GROUP BY groupid;
--利用ROW_NUMBER求中值,参与中值计算的两个值得绝对差小于或等于1
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER()
OVER(PARTITION BY groupid ORDER BY val, memberid) AS rna,
ROW_NUMBER()
OVER(PARTITION BY groupid ORDER BY val DESC, memberid DESC) AS rnd
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE ABS(rna - rnd) <= 1
GROUP BY groupid;
--通过从第一个行号衍生出第二个行号,降序行号可以用组中的行数减去升序行号再加1得到
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER() OVER(PARTITION BY groupid ORDER BY val) AS rn,
COUNT(*) OVER(PARTITION BY groupid) AS cnt
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE ABS(2*rn - cnt - 1) <= 1
GROUP BY groupid;
--IN((cnt+1)/2, (cnt+2)/2)方法
WITH RN AS
(
SELECT groupid, val,
ROW_NUMBER() OVER(PARTITION BY groupid ORDER BY val) AS rn,
COUNT(*) OVER(PARTITION BY groupid) AS cnt
FROM dbo.Groups
)
SELECT groupid, AVG(1.*val) AS median
FROM RN
WHERE rn IN((cnt+1)/2, (cnt+2)/2)
GROUP BY groupid;
GO
--使用top的方法求中值SELECT DISTINCT groupid,
((SELECT MAX(val)
FROM (SELECT TOP 50 PERCENT val
FROM dbo.Groups AS H1
WHERE H1.groupid = G.groupid
ORDER BY val) AS M1)
+
(SELECT MIN(val)
FROM (SELECT TOP 50 PERCENT val
FROM dbo.Groups AS H2
WHERE H2.groupid = G.groupid
ORDER BY val DESC) AS M2))
/2. AS median
FROM dbo.Groups AS G;
发表评论
-
SQL Server 2005中处理表分区问题
2008-08-28 11:01 1972数据库性能调优是每一 ... -
SQL LIKE 通配符随笔
2008-07-04 09:26 1576通配符 说明 _ 与任意单字符匹配 % 与包含一 ... -
五种提高 SQL 性能的方法
2008-07-02 12:10 1099有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那 ... -
SQL操作全集
2008-07-02 12:01 1072SQL分类: DDL—数据定义语言(CREATE,ALTER, ... -
不同服务器数据库之间的数据操作
2008-07-02 11:56 1877--创建链接服务器 exec sp_addlinkedser ... -
远程连接操作
2008-07-02 11:52 1255--远程连接操作 /******************** ... -
合并分拆表
2008-07-02 11:46 1416--合并分拆表 /********************** ... -
行列互转
2008-07-02 11:45 1349--行列互转 /*********************** ... -
T-SQL查询学习笔记——求下属和祖先的算法
2008-04-10 14:08 1864构建试验环境: CREATE TABLE dbo.Employ ... -
T-SQL查询学习笔记——数据修改
2008-04-10 11:45 2743一、插入数据 包括:select into、insert e ... -
T-SQL查询学习笔记——使用TOP和APPLY解决常见问题
2008-04-09 14:45 20181、每组中的TOP n问题 CREATE UNIQUE IND ... -
T-SQL查询学习笔记——TOP子句
2008-04-09 13:59 3155在select查询或表表达式中,top结合order by子句 ... -
T-SQL查询学习笔记——分组因子的使用示例
2008-04-08 17:27 1617IF OBJECT_ID('Stocks') IS NOT N ... -
Over 字句
2008-04-07 17:34 1483功能:确定在应用关联的窗口函数之前,行集的分区和排序。 适用 ... -
sql 的随机函数newID()和RAND()
2008-03-20 11:05 3023SELECT * FROM Northwind..Orders ... -
T-SQL查询学习笔记——已有范围和缺失范围示例代码
2008-03-19 15:30 1855USE SqlTest;GOIF OBJECT_ID('db ... -
T-SQL查询学习笔记——快速生成数字辅助表的几种方法示例代码
2008-03-19 14:17 2265------------------------------- ... -
SELECT 与 SET 对变量赋值的区别
2008-03-17 15:29 2774SQL Server 中对已经定义的变量赋值的方式用两种,分别 ... -
SQL逻辑查询处理步骤
2008-03-14 17:22 17081、执行笛卡尔乘积(交叉联接) 2、应用ON筛选器(联接条件) ... -
Server 2005 中集合操作(UNION、EXCEPT、INTERSECT)
2008-03-14 16:32 1403集合操作在两个输入中比较全部行。 Union:返回 ...
相关推荐
figure16-giants-feh坐标转换成功-处理中值问题-成功.py
针对数字图像处理及窜改中一种常用的处理模式——中值滤波,提出一种基于局部二值模式(LBP)的中值滤波窜改检测方法。首先对待测图像利用基于中心对称像素的局部二值模式算子(C-LBP)定位其特征提取区域,随后基于...
音视频-编解码-彩色图像自适应中值滤波的研究与实现.pdf
数字图像处理-空间滤波-线性滤波-平滑滤波-统计排序滤波-源码 中值滤波也叫做统计排序滤波,能有效的去除高斯噪声。 全部是自己写的,多年珍藏。
音视频-编解码-水岸图像的中值滤波和分割算法的研究及实现.pdf
3x3中值滤波怎么计算过程-计算机视觉学习笔记8噪声与滤波 计算机视觉.pdf
针对非球面干涉图在预处理过程中去噪的问题,提出了一种基于改进P-M 模型与加权复合型中值滤波相结合的去噪方法。分析了P-M 模型,指出了该模型在去噪中的缺点并且提出了相应的改进模型。讨论了经典的中值滤波模型,...
针对基本微分进化算法在后期收敛速度慢,搜索能力差等问题,利用混沌搜索的随机性、遍历性以及对初值的敏感性等特性,提出了一种混合混沌搜索的微分进化算法——混沌微分进化算法。该算法既保持了基本微分进化算法...
通过比较滤波窗口内像素点的灰度值与像素点灰度值的均值定义了模糊滤波系数,利用此模糊滤波系数对滤波方法进行加权,得到一种加权中值滤波器。通过对小窗口内的灰度值不等于最大灰度值和最小灰度值的像素点的检测...
这个程序是基于图像增强方法里的中值滤波和均值滤波技术的实现,且包含了实验文档。
针对各类形状的窗口的对称特性,巧妙设定滤波窗口移动顺序,同时利用两个方向相邻窗口的已有信息将每个新窗口查找中值的比较次数降到很低。对七种常用形状的窗口分别设计了算法,实验证明这一组算法比传统快速排序...
matlab_基于matlab的图像线性空间中值滤波仿真_源码
高等数学教学设计——中值定理.doc
立体匹配算法的实质就是一个最优化求解问题,通过建立合理的能量函数,增加一些约束,采用最优化理论的方法进行方程求解,这也是所有的病态问题求解方法。 双目立体匹配可划分为四个步骤:匹配代价计算、代价聚合、...
构建了一个以工件平均流程时间最短、全部工件完工时间最短的Job-shop优化调度模型,并针对模型提出了一种分阶段混合变异的禁忌搜索算法。为增强算法收敛性,利用“逆序变异”和“基因段交换变异”找到了较好的初解,...
利用野火开发板STM32F103VET6 +超声波HC-SR04 完成倒车雷达功能,距离越近蜂鸣器频率越高,距离值通过中值滤波算法,以及卡尔曼滤波算法,算法系数可调,也可用在ADC数据采集滤波上,或者其他原始数据采集上
图像滤波算法——均值、中值、高斯 图像滤波算法.pdf
图像去噪算法研究,包括均值滤波、高斯滤波、中值滤波、自适应中值滤波、巴特沃斯低通滤波器、小波阈值去噪算法
在基于无人机航拍图像的地震灾情分析及快报系统的研究中,需要实现动态信息图示化,这对图像处理提出了特殊需求。为此,对数学形态学中的闭运算进行扩展,提出了扩展闭运算的概念及其形式化定义,设计了扩展闭运算的...
滤波是物理上的说法,通俗来讲,就是通过过滤图片中的高频、低频带,对图片惊醒锐化、模糊等效果实现。本代码主要实现了基础的线性滤波:方框、均值、高斯,非线性滤波:中值、双边。