sql - 根据字段 Type 从表 tblFruit 生成随机记录
问题描述
我将需要您的帮助以根据字段类型从表 tblFruit 生成随机记录(不重复)
根据上表。
有4种水果编号1,2,3,4
我想从表 tblFruit 动态生成 x 记录(例如 7 条记录)。假设我需要获得 7 个随机记录的水果。
我的结果应该包含不同类型的水果。但是,我们需要确保结果只包含 7 条记录。
即类型1的2条记录,类型2的2条记录,类型3的2条记录,类型4的1条记录
例如
注意:如果我想生成 10 条记录(不重复),那么我将获得每种类型的 2 条记录,其余两条随机任何类型的记录。
非常感谢您的帮助。
解决方案
我可能会建议:
select top (7) f.*
from tblfruit f
order by row_number() over (partition by type order by newid());
这实际上会产生每种类型的行数大致相同的结果(好吧,减 1),但这满足您的需求。
推荐阅读
- nlp - 有什么方法可以通过无监督学习检测句子中的各个方面?
- angular - 如何使用 excel.js 创建依赖下拉列表
- ruby-on-rails - 错误:尝试在 ubuntu 20.4 上安装 mysql2 -v '0.3.21'
- python - 批量像素操作
- python - 子进程在 Python 2 中运行良好,但在 Python 3 中出现“无法转换‘字节’对象”失败
- javascript - 如何在 Laravel 刀片文件中链接 webpack 创建的块
- python - 我的自定义树实现中是否存在用于查找叶节点最短路径的错误?
- charts - 使用日期值在 openpyxl 图表中设置 x 轴缩放
- python - 玩家在pygame中移动不顺畅
- amazon-web-services - 我无法从 AWS 建议的我的 IP SSH 到我的 Linux EC2 实例。如果传入规则设置为 ::0 它可以工作