SQL SERVER 2008 求助

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

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

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

相关帖子

欢迎来到这里!

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

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

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

    1 回复
  • luqiao19950804
    作者

    怎么请求。。

    1 回复
  • ZephyrJung

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

    1 回复
  • luqiao19950804
    作者

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

  • ephen

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

    需求就感觉不太明确。

    2 回复
  • ZephyrJung

    他的意思是根据 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 回复
  • ZephyrJung

    其实用存储过程看起来就没有问题了
    我们都是把前提设定为: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 赞同 via macOS

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

请输入回帖内容 ...

推荐标签 标签

  • 导航

    各种网址链接、内容导航。

    43 引用 • 177 回帖 • 5 关注
  • HTML

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

    108 引用 • 295 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 5 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 210 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    76 引用 • 389 回帖
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 566 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    364 引用 • 1840 回帖 • 3 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    729 引用 • 1278 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 213 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 407 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    130 引用 • 864 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    87 引用 • 139 回帖 • 1 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 634 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 92 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 5 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 5 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖 • 1 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 181 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 2 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 1 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    36 引用 • 37 回帖 • 542 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 5 关注
  • Outlook
    1 引用 • 5 回帖 • 1 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • ReactiveX

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

    1 引用 • 2 回帖 • 174 关注