怎么样才能在每次查询的时候在 sjid 列每一个重复的内容中随机选一列的内容显示出来?
自己已经试了一上午了,新手,不会啊,求大神帮忙了~
SQL SERVER 2008 求助
相关帖子
-
- 其他回帖
-
mainlove • • 1 赞同
有现成的帖子讨论过 但是我觉得这样写效率不会太好 ,http://bbs.csdn.net/topics/390439875/
还是按照 ephen 说的 一个一个查吧 -
luqiao19950804 •作者
好了,自己已经搞定,就算数据量大也没有问题,下面是代码,还是谢谢大家了~
select * from (
select *,row=row_number()over(partition by column oeder by newid())
from table/后面可以跟具体的查询条件/)t
where row=11 回复 -
ephen • • 1 • 1 赞同
你是要每个 sjid 只随机选出一条数据么?
这样的话,可以用存储过程啊。先 select distinct sjid from table ,把值存到一个变量里面再 Loop 循环取出来。
select TOP 1 * FROM table where sjid = :sjid order by newid()
这样行不行?
PS:没接触过 SqlServer,只是个思路……newid 也是刚查到的,不晓得能不能用……
1 回复 - 查看全部回帖
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于