【发布时间】:2015-03-01 03:26:22
【问题描述】:
我正在尝试编写一个查询,该查询从项目列表中选择两个 ID,这两个 ID 在头对头匹配中从未遇到过(之前的头对头匹配存储在名为 Face-offs 的表中)。目的是为下一场比赛选择两个 ID。它们应该是随机的,因此您可以继续运行查询,并继续返回新的随机对峙。
项目:
+----+-----------+
| ID | Item name |
+----+-----------+
| 1 | trees |
| 2 | plants |
| 3 | animals |
+----+-----------+
对决:
+--------+-------+
| winner | loser |
+--------+-------+
| 1 | 2 |
| 2 | 3 |
+--------+-------+
目前,我有这个查询:
select id from items order by rand() limit 2
但是,要选择两个随机项目 ID,我不确定如何确定它们是否曾在 Face-Off 表的两个不同列中相遇。
这个查询可以只用 MySQL 完成,还是我必须一遍又一遍地循环查询,直到返回结果?
【问题讨论】: