我有一个查询可以选择和分组随机记录,如下所示:
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
PMA结果:
预期输出:Workbench的结果集;
实际输出:PMA的结果集
答案 0 :(得分:0)
尝试在“ out”查询中使用订单
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;