是否有可能获得分组的随机值?
----------------
nID | val
---------------
A | XXX
A | YYY
B | L
B | M
B | N
B | P
----------------
使用此SQL:
SELECT nID, VAL FROM T1 GROUP BY nID
我的结果始终是:
nID val
--------
A XXX
B L
但是我想要不同的结果evey nID。喜欢:
nID val
--------
A YYY
B N
或者
nID val
--------
A XXX
B P
这是可能的?
http://sqlfiddle.com/#!2/357b8/3
最佳答案
使用子查询。
SELECT r.nID,
(SELECT r1.val FROM T1 r1 WHERE r.nID=r1.nID ORDER BY rand() LIMIT 1) AS 'val' FROM T1 r
GROUP BY r.nID
http://sqlfiddle.com/#!2/357b8/18
关于mysql - 按值分组RAND(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12725363/