如何使DW的行随机排列,而不是按顺序排列?

am2000 2004-07-15 04:41:25
而且,随机排列过后,顺序就要固定!
...全文
362 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
am2000 2004-07-16
  • 打赏
  • 举报
回复
解决了,因为我的随机排列不能影响不符合条件的记录;
所以新建了一个表,在DW中做主键关联.然后按SortID和主码排序;
OK
mittee 2004-07-15
  • 打赏
  • 举报
回复
随机排列 ,随机从数据库里检索可以实现
am2000 2004-07-15
  • 打赏
  • 举报
回复
问题是我的DW是多个表关联的,要不在视图里面建一个列,可行?
Hanson_bati_zhu 2004-07-15
  • 打赏
  • 举报
回复
下面是一些用CoCreateGuid函数生成的唯一标识串
你看看是否能够符合你“随机”的要求
而且,没有重复的

697B0AD503714EAF9A518FC2C120D2CB
5C83325C34144C028721AB0573982CDA
BA0C683D015147708AFB68563F3F4D6F
876FDE7CF9634732ADB6C7A3AAF9EF89
0356F6B20BD742B3854FA8D567485551
AADEF43288844594AC2E379758EC5AF8
F9996E7953E846AB880F8112AAC1AFCB
02FFE4A635B04A81AE8AA209B2F659B0
4C12CA77A3224F45A0A563039542E0F1
DC95C854CF904F43A482B5D655CA19D3
E2A1BDE38B1E49C0A6B9AF0FAEEFC395
498297C1C33D4468A0ECC087C6AE3653
55647F5504CD488A9D637D31E2FB17AD
8A3358B64E2347D39E53302D2DB1ED02
4F28C719BA98416E9EED98CE31E39985
0DB6B51611AB4D7282992B464C6A20DC
19293A56FFED4B788A52246EB5C1950F
0E7A67466F724B018604B07F57A861D0
ECB81A67FF4C4D72AC49B39A2D4DF164
FD804C6493DC48B5ACB5495828D7879C
283FB73218F844E18484C420530E50FA
0C49E88195A347969D1517A3342D01A5
9C2CC46FBA934F27AC3AE253CC18B9D5
A51F63B9B3144E49B5C6967620A8C825
5A4DC6280D734D96A612D45ED451AA61
BEBA11D3B4714A1491F852D8A13BDD7D
61737ACE0A0640CDBBA0C5866E2B8C1E
7AB192D1F2844B3DBA84F0758206C8E0
2646C5584A3949FDA222EC203F070139
Hanson_bati_zhu 2004-07-15
  • 打赏
  • 举报
回复
“顺序就要固定”是不是指下次再检索出这些数据后,顺序应该跟本次打乱的顺序一样?

如果是这样的话,你在数据库表中加一个字段,比如叫OrderID
先检索出数据
然后循环,为DW中的每条记录生成一个随机数,填写在这个OrderID字段中,
然后再按照OrderID对数据窗口进行排序

现在保存这些数据后,下次再检索出数据就用这个OrderID进行排序,应该就能够回复到上次的状态了

唯一的缺点是,用Rand可能会产生重复值
你可以用别的办法,比如用API函数CoCreateGuid,这个函数能够生成唯一ID(最起码在你的机器内是唯一的),这样就能够避免重复的问题了

试试看
打开链接下载源码: https://pan.quark.cn/s/e23b4cd62d42 Linux运维工程师在IT业扮演着核心的角色,他们承担着对基于Linux操作系统的服务器进维护和管理的职责,以保障系统的稳定性和运效率。Linux运维职业的学习和发展路径是结构化且周密的,它包含了从入门到精通的多个层次。以下是对这一主题的深入解析: 一、入门知识阶段 在Linux运维的学习初期,首要任务是掌握Linux操作系统的基本理念和常用指令。这涉及到对Linux不同发版(例如Ubuntu、CentOS、Red Hat等)的认识,熟悉文件系统的构造,熟练运用文件和目录操作(诸如ls、cd、mkdir、rm等),以及掌握vi/vim等文本编辑器的使用方法。除此之外,学习Linux中的用户和权限管理、进程管理、网络设置和监控也是这一阶段需要重点关注的内容。 二、高级技术阶段 在基础知识的积累之后,需要进一步深入理解Linux内核、Shell脚本编程、系统服务和守护进程的管理。这一阶段应该熟练运用grep、awk、sed等数据处理工具,以及crontab定时任务的设定。同时,要学会通过系统日志进故障排查,比如查看/var/log目录下的各种日志文件。对于网络服务的配置与管理,如HTTP(Apache或Nginx)、FTP、DNS、DHCP等,也具有非常重要的意义。 三、自动化与编程脚本 在当代运维工作中,自动化是提升工作效率的关键要素。学习Python或Perl等编程语言,编写自动化脚本来处理日常任务,例如系统备份、监控告警、数据整理等。了解Ansible、Puppet、Chef等配置管理工具,能够帮助实现更大范围的系统部署和管理。 四、性能调优与监控 掌握系统性能参...

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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