【发布时间】:2019-10-23 16:43:33
【问题描述】:
我想获得一张桌子的id 与其自身的随机组合。
SELECT id FROM t1
SELECT id as id2 FROM t1 ORDER BY RAND()
SELECT id as id3 FROM t1 ORDER BY RAND()
我怎样才能JOIN这些查询得到
SELECT id,id2,id3
1 random_id random_id
2 random_id random_id
3 random_id random_id
4 random_id random_id
5 random_id random_id
换句话说,JOINing 将这三个 SELECTs 并排放置有什么意义。
创建一个唯一的组合是有益的,但是使用上面的查询ORDER BY RAND() 可以重复相同的id 到id2 和id3。前一种情况是理想的,但后者对我来说足够了。
【问题讨论】:
-
id1 和 id2 呢?它们在每一列中是唯一的吗?
-
“随机”是什么意思? id 可以重复列吗?或者你想要一个随机排列?
-
@forpas 不一定是唯一的,因为我们已经通过 RAND() 创建了列表,相同的 id 可以出现在
id2和id3中。当然,拥有一个唯一的集合是有好处的,但如果它只是一个随机值,它仍然对我有用。 -
@GordonLinoff 我更新了问题以澄清问题。