SQL SERVER 2008 求助

本贴最后更新于 2718 天前,其中的信息可能已经水流花落

41e1340b59344daf868886341073b5a3-QQ20161115141519.png
怎么样才能在每次查询的时候在 sjid 列每一个重复的内容中随机选一列的内容显示出来?
自己已经试了一上午了,新手,不会啊,求大神帮忙了~

打赏 1 积分后可见
1 积分 • 2 打赏
  • SQL
    124 引用 • 296 回帖 • 3 关注
  • 求助
    49 引用 • 401 回帖 • 1 关注
  • sjid
    1 引用 • 23 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • ZephyrJung 2 1 赞同

    话说你这个问题能不能放到程序里面做,反正你们要随机读取的话,每次都要查询,不如就查询出所有的来,每次请求返回随机一个好了

    1 回复
  • luqiao19950804
    作者

    怎么请求。。

    1 回复
  • 我是说,你查询出全部,放到 Java 的 List 里,然后再根据 sjid 取随机一条
    就是如果数据量很大估计有问题……

    1 回复
  • luqiao19950804
    作者

    products 这个表有七十多 W 的数据量

  • ephen

    你这个逻辑有点问题吧?
    sjid 不重复,又不是查重复数量。。那其他列又不是重复的,怎么会存在剔重……

    需求就感觉不太明确。

    2 回复
  • 他的意思是根据 sjid 分组,对每组取出随机一条来

    2 回复
  • luqiao19950804
    作者

    select * 查询了所有的内容,每一条内容本身是不重复的,但是 sjid 这一列相当于一个类,有很多内容隶属于一个类,要求是把每个类能显示出来,但是类里面的内容只随机显示一条出来。。

  • luqiao19950804
    作者

    对,就是这意思。。

  • 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 回复
  • ephen

    他这样的数据也没法 group by 吧……

    1 回复
  • luqiao19950804
    作者

    那个冒号做什么用的?

    1 回复
  • 其实用存储过程看起来就没有问题了
    我们都是把前提设定为:sql 解决

    1 回复
  • ephen

    前面取出来的变量。
    不晓得 sqlserver 啥语法,我记得 oracle 好像是这样的。

    1 回复
  • luqiao19950804
    作者

    母鸡啊,我也是才接触这玩意不久。。

    1 回复
  • ephen

    楼主是要实现功能撒,没说一定要用 sql 吧?

    1 回复
  • ephen

    所以正好可以去学习下……

  • luqiao19950804
    作者

    是用 sql server2008 的语句

    1 回复
  • ephen 1 1 赞同

    必须用 sql 语句的话,看看别人是不是有什么高明意见~
    我不是做技术的,只是随便插两句嘴。大家继续……O(∩_∩)O

    1 回复
  • luqiao19950804
    作者

    还是谢谢啦~

  • 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=1

    1 回复
  • luqiao19950804
    作者

    第二个 select 后面也有个 * 居然给我整不在了。。。

  • ZephyrJung 1 赞同

    不错哦,学习了
    就是我们不用 sql server
    所以个人都是避免使用比较个性化的写法

请输入回帖内容 ...

推荐标签 标签

  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 6 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 21 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    69 引用 • 190 回帖 • 494 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    140 引用 • 441 回帖
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 369 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    532 引用 • 3528 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    523 引用 • 4581 回帖 • 690 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 642 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 598 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 126 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 396 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 686 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 512 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 108 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    85 引用 • 895 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    39 引用 • 24 回帖
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 620 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 559 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 174 关注