【发布时间】:2013-06-29 20:30:00
【问题描述】:
我有一个表 A 和表 B 的外键,我需要从 A 中选择 10 个随机字段,以便连续对中的字段具有不同的 b_id,即有效结果将是:
(x1, x2) (x3, x4) ... (xn, xn+1) 其中xi 是选定的字段,如果我们将fi 的外键命名为xi 到B,那么fi 应该不同于fk+1。我尝试了一个非常糟糕的查询,我根本不喜欢它而且我相信它很慢。
这是我当前的查询:
select a1.b_id, a1.x, a2.b_id, a2.x
from A a1, A a2
where a1.b_id <> a2.b_id
order by rand()
limit 5
【问题讨论】: