首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求大神帮忙 SQL话语的

2012-08-11 
求大神帮忙 SQL语句的我的数据库里有一些数据,但是列vcContent中有重复的,但每个事件都有对应的不同的完成

求大神帮忙 SQL语句的
我的数据库里有一些数据,但是列vcContent中有重复的,但每个事件都有对应的不同的完成度vcCompletePercent,例如30%、40%、50%,我想用SQL语句按照事件选出完成度最大的数据,按照事件分,就是每个事件只选一条(最大的),选出的数据得是此事件的完整信息,就是包括其他的我没提到的列。。。
  哪位大神可以给个SQL语句~~~

[解决办法]

SELECT A.* FROM 表 A,
(
SELECT 事件,max(vcCompletePercent) AS vcCompletePercent
FROM 表 group by 事件
) B
WHERE A. 事件 = B.事件 AND A.vcCompletePercent = B.vcCompletePercent
[解决办法]
如果是存储过程,可以用临时表,先将 group by 事件 的结果取出来,再关联,可以提高性能,如下:

DECLARE @t TABLE (
事件 varchar(100),
vcCompletePercent DECIMAL(5,2)
)

INSERT INTO @t (事件, vcCompletePercent)
SELECT 事件,max(vcCompletePercent) AS vcCompletePercent
FROM 表 group by 事件

SELECT * FROM 表 A,@t b WHERE A. 事件 = B.事件 AND A.vcCompletePercent = B.vcCompletePercent

热点排行