你好,我想问一下SQL server 随机取十条数据要求某列数据相加之和等于一个固定值这个sql你会写吗

如题所述

第1个回答  2019-09-03
1、以某整数字段为种子(没有的话要生成一个)
2、通过RAND函数生成一个0-1之间的随机数。如0.7136106261841817
3、然后转换成文本型
4、再取后7位即可RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。
具体语句如下:
如果表中有一个字段为整型的序号或标识列,那么就可以以序号为种子生成随机的学号字段。
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,RAND(序号)),7) WHERE 序号 IS NOT NULL
如果没有整型的序号或标识列,就要根据表中能够唯一标识确定某行的关键字段来生成学号,如ID
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,rand((select count(1) from tablename a where a.id>=tablename.id))),7)追问

其实我没怎么看懂,我的意思是用一条sql语句写出来获取数据库表中随机十条数据数据并且要求这十条数据某列数据之和等于一个固定值 select top 10 * from A order by newid(),这个sql就是随机抽取十条数据,后面那个条件怎么带上去呢,要求这十条数据之和等于一个固定值

本回答被网友采纳
相似回答