gpt4 book ai didi

php - Mysql Select random rows to n次

转载 作者:行者123 更新时间:2023-11-29 02:58:35 24 4
gpt4 key购买 nike

我想从我的表中随机获取 3 条记录到 90 次。

场景

  user_id     number_of_bids 
12 20
8 40
6 30

我想要的是...以随机顺序获取 3 行以上的特定数字 实际上它是 sum(number_of_bids)...

并且每一行的重复次数不应超过其出价数..

我创建了一个查询,其中我得到了 number_of_bids 的总和。现在需要第二个查询,其中这 3 条记录应该以随机顺序排列到 sum(number_of_bids) 次并且每条记录的重复次数不应超过其 number_of_bids

不确定是否可以在一个查询中实现。但是你们是专家,我相信你们可以帮助我。这将节省我的执行时间。 谢谢..

最佳答案

我只是从行中构建一个数组并将其打乱:

$stmt = $db->query('SELECT user_id, number_of_bids FROM table_name', PDO::FETCH_KEY_PAIR);
$results = array(); $startIndex = 0;
foreach ($stmt as $userId => $numberOfBids) {
$results += array_fill($startIndex, $numberOfBids, $userId);
$startIndex += $numberOfBids;
}
shuffle($results);

然后,您可以根据需要迭代 $results

关于php - Mysql Select random rows to n次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27372737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com