关于一个sql查询数据,数据某列有重复,其他列无重复,取出重复列的问题。

Honyun100 2013-11-01 11:29:29


贴sql语句。

alter proc proc_IntegralMng(@page int,@pagesize int)
as
select Integral.ID,PhoneUserInfo.RealUserName,Integral.Integral,IntegralStatus.LoginNumber,
IntegralStatus.CommentNumber,IntegralStatus.ShareNumber,IntegralStatus.PublishNumber,IntegralStatus.StatusTime
from Integral
left join IntegralStatus on Integral.UserID = IntegralStatus.LoginID
left join PhoneUserInfo on PhoneUserInfo.Id = Integral.UserID
where IntegralStatus.LoginID <> 0 and PhoneUserInfo.RealUserName is not null and
PhoneUserInfo.RealUserName <> '' order by Integral.integral desc,StatusTime desc
where PhoneUserInfo.RealUserName+IntegralStatus.StatusTime not in

(select top(@pagesize * (@page-1)) PhoneUserInfo.RealUserName+IntegralStatus.StatusTime from Integral
left join IntegralStatus on Integral.UserID = IntegralStatus.LoginID
left join PhoneUserInfo on PhoneUserInfo.Id = Integral.UserID

where IntegralStatus.LoginID <> 0 and PhoneUserInfo.RealUserName is not null and
PhoneUserInfo.RealUserName <> '' order by Integral.integral desc,StatusTime desc)

and IntegralStatus.LoginID <> 0 and PhoneUserInfo.RealUserName is not null and
PhoneUserInfo.RealUserName <> '' order by Integral.integral desc,StatusTime desc



另外,这个sql分页可以优化一下么 ?我觉得如果去除重复的了就不用PhoneUserInfo.RealUserName+IntegralStatus.StatusTime来作为唯一建了,那样应该更好吧!
...全文
642 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Honyun100 2013-11-02
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
但是从数据上来看,它的确是唯一的,只是你不想展示这么多而已,要么只取比如日期最大的那条,要么转成列,要么把所谓“重复”的列,组成一列,比如4,12,6,0这个作为一列展示
谢谢你为我作答!!!我现在只能退而求其次了。~这是一个用户统计信息表的数据,设计之初没想好。叫个新手来设计数据库,真是的。。不过经验都是慢慢累计起来的嘛。我相信下次会设计的更加的好!
發糞塗牆 2013-11-01
  • 打赏
  • 举报
回复
但是从数据上来看,它的确是唯一的,只是你不想展示这么多而已,要么只取比如日期最大的那条,要么转成列,要么把所谓“重复”的列,组成一列,比如4,12,6,0这个作为一列展示
Honyun100 2013-11-01
  • 打赏
  • 举报
回复
引用 2 楼 Honyun 的回复:
[quote=引用 1 楼 DBA_Huangzj 的回复:]
建了唯一索引也一样,问题是你要把后面那些数据如何展示,如果转成列,就可以成为一行,否则很难去重,重点还是想看你怎么展示


我想这样子展示。怎么搞?或者给个其他什么方法。



这是另外一张表的数据查询结果,能不能先把这张表的数据取出ID列的唯一一条数据呢?[/quote]
这张表的loginID是有很多重复的。
Honyun100 2013-11-01
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
建了唯一索引也一样,问题是你要把后面那些数据如何展示,如果转成列,就可以成为一行,否则很难去重,重点还是想看你怎么展示


我想这样子展示。怎么搞?或者给个其他什么方法。



这是另外一张表的数据查询结果,能不能先把这张表的数据取出ID列的唯一一条数据呢?
發糞塗牆 2013-11-01
  • 打赏
  • 举报
回复
建了唯一索引也一样,问题是你要把后面那些数据如何展示,如果转成列,就可以成为一行,否则很难去重,重点还是想看你怎么展示

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧