首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于重复记录隐藏的有关问题

2012-02-16 
关于重复记录隐藏的问题!有记录如下Select*fromtb1姓名科目成绩张三语文99张三英语88张三数学77李四语文89

关于重复记录隐藏的问题!
有记录如下
Select   *   from   tb1

姓名         科目           成绩
张三         语文           99
张三         英语           88
张三         数学           77
李四         语文           89
李四         英语           63
李四         数学           86

希望可以增加一列,用于显示,如下

姓名       姓名2       科目           成绩
张三       张三         语文           99
张三                       英语           88
张三                       数学           77
李四       李四         语文           89
李四                       英语           63
李四                       数学           86

[解决办法]
SELECT 姓名,
姓名2 =
case
when not exists(select 1 from table where 姓名 = a.姓名 and 成绩 > a.成绩)
then 姓名
else ' '
end,
科目,成绩
FROM table AS a
ORDER BY 姓名 DESC,成绩 DESC
[解决办法]
這麼沒有規律的話,借用臨時表吧


Select ID = Identity(Int, 1, 1), * Into #T From 表

Select
姓名,
(Case When Exists (Select 姓名 From #T Where 姓名 = A.姓名 And ID < A.ID) Then ' ' Else 姓名 End) As 姓名2,
科目,
成绩
From
#T A

Drop Table #T

热点排行