请教:SQL语句如何实现同一列里如果与上一行数据相同,则这一行该列数据不显示,但是其他列要照样显示。

想要达到效果:idcount111112222333324444555536666... 想要达到效果:
id count
1 1111
2222
3333
2 4444
5555
3 6666
展开
 我来答
shangguan8292
2012-05-04 · TA获得超过102个赞
知道答主
回答量:39
采纳率:100%
帮助的人:36.5万
展开全部

declare @id int,@count char(20)

  print 'id'+'        '+'count'

  declare C_q cursor for  

  select distinct id from qqq

  open C_q

  fetch next from C_q into @id

  while @@fetch_status=0

  begin

  print cast(@id as varchar(10))+':'  

  declare C_ cursor for

  select[count] from qqq

  where id=@id

  open C_

  fetch next from C_ into @count

  while @@fetch_status=0

  begin

  print '          '+@count

  fetch next from C_ into @count

  end

  close C_

  deallocate C_

  print'======================'  

  fetch next from C_q into @id

  end

  close C_q

  deallocate C_q

其实你要做报表使用游标是一个很好的选择。我采用的就是这个方法给你做的,效果一样。不会你再问。望采纳,谢谢!

追问
谢谢。。。不过还是有点复杂
藏漂生活这几年
2012-05-04 · TA获得超过681个赞
知道小有建树答主
回答量:409
采纳率:33%
帮助的人:350万
展开全部
你可以吧这个 排序一下。 例如 一下在sqlserver 和oracle 中都可以吧
主要思路就是 生成一个id 这个 id 根据第二列分组。 相同的count 会有多个id 依次1.2.3.。。。 所以最后就判断,如果不是1的话 就让它为空 就行了 。
select case when row<>1 then '' end id, count from (
select row_number() over(partiton by count order by count) row,* from tb
) a
追问
恩。谢谢。应该是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a792811535
2012-05-04 · TA获得超过4411个赞
知道小有建树答主
回答量:1269
采纳率:100%
帮助的人:1420万
展开全部
你这个表没有主键啊?没有主键的表是不知道什么是上一行,什么是下一行的。
如果有主键这个就好写了,没有主键没有办法弄。
更多追问追答
追问
如果有主键的话,要怎么写呢?
追答
你倒是把主键及数据贴出来呀
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0829
2012-05-04 · TA获得超过2937个赞
知道大有可为答主
回答量:2251
采纳率:50%
帮助的人:2344万
展开全部
用distinct就行了,这个就是对相同的过滤,
SELECT DISTINCT 列名称 FROM 表名称
SELECT DISTINCT ID,COUNT FROM 表
追问
不行啊。这个distinct只是根据某一字段去除相同的内容,该重复行后面不重复的内容就不显示了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b79347d3a
2012-05-04 · TA获得超过318个赞
知道小有建树答主
回答量:357
采纳率:100%
帮助的人:224万
展开全部
这个不好搞
sql肯定不是你最终展示给客户看的撒
所以我建议你在程序里展示的时候去做这个处理
比如在页面 循环展示的时候 存储一个变量 当发现本次的值和上次存下来的值不一样 才展示 否则不展示
追问
我这个要做报表。。。所以没有页面。
追答
我不信这个是直接展示给客户看的  不管是页面还是导出excel  都在程序处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式