有可能通过下式得到一个随机值?
----------------
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
但我希望每个人都有不同的结果,比如:
nID val
--------
A YYY
B N
或
nID val
--------
A XXX
B P
有可能吗?
http://sqlfiddle.com/#!2/357b8/3
6条答案
按热度按时间xnifntxz1#
使用子查询。
http://sqlfiddle.com/#!2/357b8/18
vfh0ocws2#
您可以使用兰德()排序,然后按它们分组。
喜欢
zzlelutf3#
jmp7cifd4#
试试这个
lyfkaqu15#
下面的解决方案在本质上与xdazz或jonnyynnoj中的解决方案类似,但我使用子查询来选择所有不同的ID,而不是
SELECT FROM T1 GROUP BY nID
。我相信性能可能会有所不同,所以给予这个解决方案。jckbn6z76#
兰德+行编号