gpt4 book ai didi

php - ORDER BY rand() 并使用 group_id 进行分组

转载 作者:行者123 更新时间:2023-11-29 01:52:43 26 4
gpt4 key购买 nike

我想按 group_id 排序以随机顺序选择行:

id  group_id
1 1
2 1
3 2
4 2
5 3
6 4

我希望它们像下面这样排序或随机但仍分组:

id  group_id
5 3
3 2
4 2
1 1
2 1
6 4

下面将对它们进行排序,但我希望排序是随机的。如何实现?

SELECT * FROM table ORDER BY group_id DESC

下面是我为实际应用程序计算的示例查询。

SELECT * FROM ( SELECT requests.*, accounts.username, accounts.password
FROM requests LEFT JOIN accounts ON requests.acc_id = accounts.id
WHERE requests.status NOT IN(1) AND accounts.status=1 ORDER BY RAND()
) AS subquery GROUP BY acc_id

最佳答案

您可以尝试按随机数排序,种子取决于 group_id,但具有随机因子。像这样:

SET @seed = 100*RAND();
SELECT * FROM table ORDER BY RAND(group_id*@seed);

关于php - ORDER BY rand() 并使用 group_id 进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36947959/

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