楼主: 军长

[精华] 求数据库重新排序的语句,谢谢~

[复制链接]
论坛徽章:
0
41#
 楼主| 发表于 2004-9-21 21:35 | 只看该作者
最初由 magicangel 发布
[B]

不客气。

lodge兄可是博士。

或者简单点的更改bbs表可以这么写,不作insert而是update:

update bbs set announceid=b.announceid
from bbs a,#bbs b
where a.rootid=b.rootid and a.dateandtime=b.dateandtime [/B]


啊,lodge了不起.博士还这么平易近人,一点都没架子,赞~

update应该没问题,不过我想会不会有极少量记录rootid和dateandtime会完全相同,不知这样会不会出错,还有update完,怎么把数据库按announceid重新排列?

使用道具 举报

回复
论坛徽章:
0
42#
 楼主| 发表于 2004-9-21 21:50 | 只看该作者
还有一问题,lodge的语句好像有点问题,我用你的命令更新完数据库,再执行lodge的统计排序错误指令,发现还有828条的记录排序不对
SELECT count(*)  FROM  bbs as a
WHERE EXISTS(SELECT NULL FROM  bbs as b WHERE a.rootid=b.rootid and a.announceid<b.announceid AND a.dateandtime>b.dateandtime)
--------------------------------------------------------------------
count    828
--------------------------------------------------------------------
然后我把这些数据取出来看,明明都是排序正确的,为什么?lodge的语句错了吗?

使用道具 举报

回复
论坛徽章:
0
43#
 楼主| 发表于 2004-9-21 22:12 | 只看该作者
最初由 军长 发布
[B]

啊,lodge了不起.博士还这么平易近人,一点都没架子,赞~

update应该没问题,不过我想会不会有极少量记录rootid和dateandtime会完全相同,不知这样会不会出错,还有update完,怎么把数据库按announceid重新排列? [/B]


我等不及已经update了,没想到真的给我言中了.出现相同的announceid,主键索引加不回去了

使用道具 举报

回复
论坛徽章:
59
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-10-28 14:15:35管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
44#
发表于 2004-9-21 22:14 | 只看该作者
能写出几条, 结果看看吗?

使用道具 举报

回复
论坛徽章:
22
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:36
45#
发表于 2004-9-21 22:15 | 只看该作者
嗯,我想想,lodge兄不作编程的,他擅长分析。

你数据库备份了吗。备份了就不要紧了。

在吃饭。

使用道具 举报

回复
论坛徽章:
0
46#
 楼主| 发表于 2004-9-21 22:28 | 只看该作者
最初由 lodge 发布
[B]能写出几条, 结果看看吗? [/B]


收短消息,给你SQL的sa帐号和密码了~

使用道具 举报

回复
论坛徽章:
0
47#
 楼主| 发表于 2004-9-21 22:31 | 只看该作者
最初由 magicangel 发布
[B]嗯,我想想,lodge兄不作编程的,他擅长分析。

你数据库备份了吗。备份了就不要紧了。

在吃饭。 [/B]


数据库肯定备份了,现在用的是临时搭建的测试平台.我已经从原库倒回数据了,现在的bbs库已经是没处理过的数据~

使用道具 举报

回复
论坛徽章:
22
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:36
48#
发表于 2004-9-21 22:39 | 只看该作者
最初由 军长 发布
[B]

啊,lodge了不起.博士还这么平易近人,一点都没架子,赞~

update应该没问题,不过我想会不会有极少量记录rootid和dateandtime会完全相同,不知这样会不会出错,还有update完,怎么把数据库按announceid重新排列? [/B]


#bbs存放的只会是rootid和dateandtime不同的记录。

你用下面的语句可以找出bbs里rootid和dateandtime相同的记录
select a.*
from bbs a,(select rootid,dateandtime from bbs group by rootid,dateandtime having(count(announceid))>1) b
where a.rootid=b.rootid and a.dateandtime=b.dateandtime

使用道具 举报

回复
论坛徽章:
22
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:36
49#
发表于 2004-9-21 22:43 | 只看该作者
最初由 军长 发布
[B]

我等不及已经update了,没想到真的给我言中了.出现相同的announceid,主键索引加不回去了 [/B]


不会吧,看我上贴。

主键索引怎么会加不进去?什么错误,贴报错信息上来。

使用道具 举报

回复
论坛徽章:
22
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:36
50#
发表于 2004-9-21 22:47 | 只看该作者
最初由 军长 发布
[B]还有一问题,lodge的语句好像有点问题,我用你的命令更新完数据库,再执行lodge的统计排序错误指令,发现还有828条的记录排序不对
SELECT count(*)  FROM  bbs as a
WHERE EXISTS(SELECT NULL FROM  bbs as b WHERE a.rootid=b.rootid and a.announceid<b.announceid AND a.dateandtime>b.dateandtime)
--------------------------------------------------------------------
count    828
--------------------------------------------------------------------
然后我把这些数据取出来看,明明都是排序正确的,为什么?lodge的语句错了吗? [/B]


他的语句没错啊。奇怪,有这样的事?

呵呵,lodge兄在帮你远程连接是吧。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表