php - MySQL:将 100 个随机数的列表插入一个字段然后显示它们
问题描述
我有一个包含 500 个报价的表,每个报价都有一个从 1 到 500 的 ID。这个表有 2 列:QuoteID 和 Quote。
一位客户在订单页面上订购了 100 个随机报价。
我需要生成 100 个介于 1 和 500 之间的随机数,并以某种方式将其插入到该客户订单的 Customer 表中。Customer 表有 2 列:CustomerID 和 QuotesOrdered。
然后,在“显示”页面上,我需要显示这些引号中的每一个。它必须查看 QuotesOrdered 列中列出的 100 个随机 ID 号,然后从 Quotes 表中提取每个 ID 以显示它们。
有没有一种简单的方法可以做到这一点?我是否会将 100 个数字生成到一个数组中,然后以某种方式将此数组插入到 Customer 表的 QuotesOrdered 列中,然后遍历数组并显示与 Quotes 表中的该 ID 号相关联的每个报价?
任何有关如何在逻辑上做到这一点的帮助将不胜感激。
解决方案
我不确定为什么您需要在表格中存储随机数然后选择引号。您可以使用以下查询直接选择 100 个随机报价:
select quoteID, quote from quotes order by rand() limit 100;
现在,如果出于某种原因,您确实需要在customers
表中为给定客户保留 100 个随机报价编号,那么:
insert into customers
select :customerID, quoteID from quotes order by rand() limit 100
...:customerID
应该用相关客户的ID替换。
然后当你想显示它们时:
select q.quoteID, q.quote
from customers c
inner join quotes c on c.quoteID = q.quoteID
where c.customerID = :customerID
推荐阅读
- c++ - 如何使用 GRPC c++ 读取异步服务器端流
- java - 适用于 Windows 64 位的 OpenJdk 8
- c - 使用 for 循环在 C 中创建链接列表以分配值
- c - 一遍又一遍地做同样的事情并得到不同的结果?C中的Strtok。- 大学生问题
- azure - 如何将 UiPath Studio 与 Azure DevOps 连接起来?
- java - 当 Spring SecurityContextHolder 在 getPrincipal 上返回 null 时,应该抛出哪个异常?
- pandas - pandas groupby 和 agg 对选定列和行的操作
- javascript - 我想在我的 iframe 视频框中隐藏分享并转到你的电子管选项
- ruby - 有没有办法在一个方法中并行调用多个大方法?在尝试使用时,线程我的开发服务器挂断了
- java - 如何获取html属性值?