读书人

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

发布时间: 2012-02-16 21:30:36 作者: rapoo

关于重复记录隐藏的问题!
有记录如下
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

读书人网 >SQL Server

热点推荐