我有3个表(称为results
,users
,games
),第一个表从其他表中获取数据,所有表都有一个主要的自动增量ID,如下所示:
结果
id | idusers | idgames
--------+---------+----------
| |
| |
| |
用户
id | name |
--------+---------+
1 | todd |
2 | mario |
3 | luigi |
游戏
id | play |
--------+---------+
1 | game1 |
2 | game2 |
3 | game3 |
我想随机化用户ID和游戏ID,并在results
表格中加入,如下所示:
结果
id | idusers | idgames
--------+---------+----------
1 | 3 | 2
2 | 1 | 1
3 | 2 | 1 (also duplicates are ok)
我知道要随机使用它应该使用SELECT * FROM users ORDER BY NEWID()
的ID,并将我需要使用的INNER JOIN
,
但是如何让它在一个查询中一起工作?
答案 0 :(得分:0)
MySQL中的一种方法是使用rand()
和相关的子查询:
select idusers,
(select id from games order by rand() limit 1) as idgames
from users;
如果你有合理数量的数据(超过几千行),那么有更有效的方法。