gpt4 book ai didi

MySQL - ORDER BY Rand() 总是给出相同的结果

转载 作者:行者123 更新时间:2023-11-29 15:57:58 25 4
gpt4 key购买 nike

我有一个查询,可以选择随机记录并对其进行分组,如下所示:

SELECT PRDT_CODE FROM (
SELECT * FROM CTGR
INNER JOIN PRDT on PRDT.PRDT_CTGR = CTGR.CTGR_CODE AND PRDT.PRDT_STUS = 'A'
INNER JOIN PFIL on PFIL.PFIL_PRDT = PRDT.PRDT_CODE AND PFIL.PFIL_MAIN = 1
ORDER BY RAND()
) A
GROUP BY CTGR_CODE
LIMIT 4;

在 MySQL Workbench 和 PhpMyAdmin 上执行相同的查询。

从工作台获得的结果集是完全随机的(这是我想要的)。另一方面,尽管使用了 ORDER BY RAND() 关键字,PhpMyAdmin 仍返回相同的结果集。

知道为什么会发生这种情况吗?

编辑

工作台中的结果:

第一次运行: enter image description here

第二次运行: enter image description here

PMA 结果:

第一次运行: enter image description here

第二次运行: enter image description here

预期输出:Workbench 的结果集;

实际输出:PMA的结果集

最佳答案

尝试在输出查询中使用 order by

SELECT * FROM (
SELECT * FROM CTGR
INNER JOIN PRDT on PRDT.PRDT_CTGR = CTGR.CTGR_CODE AND PRDT.PRDT_STUS = 'A'
INNER JOIN PFIL on PFIL.PFIL_PRDT = PRDT.PRDT_CODE AND PFIL.PFIL_MAIN = 1
) A
GROUP BY CTGR_CODE
ORDER BY RAND()
LIMIT 4;

关于MySQL - ORDER BY Rand() 总是给出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354733/

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