也许这很容易,但我不知道如何正确处理这个问题。我有以下表格t1:
-----------------
| id | gr_id |
-----------------
| 1 | a |
| 2 | a |
| 3 | b |
| 4 | b |
| 5 | c |
| 6 | c |
| 7 | d |
| 8 | d |
-----------------
我想像这样随机获取gr_ids:
-----------------
| id | gr_id |
-----------------
| 3 | b |
| 4 | b |
| 5 | c |
| 6 | c |
| 7 | d |
| 8 | d |
| 1 | a |
| 2 | a |
-----------------
获得有序的gr_ids上升和下降很容易,但是随机分组的结果比我想象的要复杂得多。
当我使用GROUP BY或某事时,我不明白。类似的我确定每组只有一行。我如何随机订购团队,这里有什么诀窍???
谢谢你们让光线进入黑暗;)
答案 0 :(得分:1)
E.g:
SELECT x.*
FROM my_table x
JOIN
( SELECT DISTINCT gr_id
, RAND() rnd
FROM my_table
) y
ON y.gr_id = x.gr_id
ORDER
BY y.rnd
, x.id;
答案 1 :(得分:0)
ORDER BY RAND()
应该适合你。