这样的查询访怎么样写,在线等~~~~重谢

咏帆 2010-12-22 10:22:22
有人在吗?请教个问题
我有个表,表里面有4条记录,表有字段A,A的值是一个百分数,值如:32%,26%,24%,18%这样,我想查询其中的一条记录,怎么样查询,才能使记录出现的机率跟A字段的百分数成正比呢?

即,我查询100次,A字段值为32%的记录大概出现32次,A字段值为26%的记录大概出现26次左右,依次...
...全文
77 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
咏帆 2010-12-22
  • 打赏
  • 举报
回复
谢谢各位~~
王向飞 2010-12-22
  • 打赏
  • 举报
回复
这一般通过程序来算,算好了以后再查数据库
咏帆 2010-12-22
  • 打赏
  • 举报
回复
嗯,先要把前期转换工作做好,查询时,只用一条查询语句就行了
-晴天 2010-12-22
  • 打赏
  • 举报
回复
至于查询的方法,楼主并没有规定用一条语句来实现,我想可以用一个过程来实现.
咏帆 2010-12-22
  • 打赏
  • 举报
回复
呵呵,晴天,我跟你想到一起去了~~
咏帆 2010-12-22
  • 打赏
  • 举报
回复
谢谢晴天,看了你说的,我想通了,我可以变通一下来实现,可以把候选的记录的A字段的值,换成一个数值范围来表示,查询前,先随机生成一个100范围的数字,然后,查询这个随机数字在哪条记录的范围之内的记录就行了
-晴天 2010-12-22
  • 打赏
  • 举报
回复
还有一个办法,这可是决定于系统的伪随机函数的运算结果,就是把伪随机函数的值乘以100,然后规定0-32的取第一条记录,33-58的取第二条记录,以此类推,可得与楼主要求近似的结果.
feixianxxx 2010-12-22
  • 打赏
  • 举报
回复
感觉无解...
-晴天 2010-12-22
  • 打赏
  • 举报
回复
机率本身就有不确定性,如果一定要按某种比例获得记录,那就不是随机的而是伪随机的.
要做伪随机的也不难,如果你肯定是要查100次,那将表结构改一下,添加一个列,其值更新A*100,在查询时,每查一次该列扣 1,这样,在查询条件上添加一个条件,即该列>0,不就可以实现你的需求了.
咏帆 2010-12-22
  • 打赏
  • 举报
回复
不好意思,我没说得明白


我主要是想,按一定机率返回4条记录中的一条
咏帆 2010-12-22
  • 打赏
  • 举报
回复
或者,根本不可能用一条select语句来实现,要用其他方法变通才能实现 ?
dawugui 2010-12-22
  • 打赏
  • 举报
回复
最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
如果有多表,表之间如何关联?


发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
bancxc 2010-12-22
  • 打赏
  • 举报
回复
学习 这个太难了

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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