EnZ*_*nZo 11 mysql sql group-by
有可能获得该组的随机值吗?
----------------
nID | val
---------------
A | XXX
A | YYY
B | L
B | M
B | N
B | P
----------------
Run Code Online (Sandbox Code Playgroud)
有了这个SQL:
SELECT nID, VAL FROM T1 GROUP BY nID
Run Code Online (Sandbox Code Playgroud)
我的结果总是:
nID val
--------
A XXX
B L
Run Code Online (Sandbox Code Playgroud)
但我想要一个不同的evey nID结果.喜欢:
nID val
--------
A YYY
B N
Run Code Online (Sandbox Code Playgroud)
要么
nID val
--------
A XXX
B P
Run Code Online (Sandbox Code Playgroud)
这是可能的?
使用子查询。
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
Run Code Online (Sandbox Code Playgroud)
http://sqlfiddle.com/#!2/357b8/18