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