MySQL从左连接选择行,在一列中具有特定数量的不同值,但没有总行数限制

时间:2019-01-09 17:21:54

标签: java mysql jdbc

我有2个表(记录,要素),它们通过一个外键关系连接。

现在我想从那两个表中提取样本,这些表在我的主表中 我选择一个ID作为主键。

因此,如果我想获取所有条目,它将看起来像这样:

SELECT features.record_id, [...more columns...]
FROM records 
LEFT JOIN features ON records.id = features.record_id
ORDER BY records.id

我要实现的目标:

我想增强查询,以便可以指定 records.record_id 的不同值的确切数字 n 。我不希望 n 行,而是联接中的所有行,直到得到 n 个不同的 record_id ,而又不限制行中的总行数最有效的方法。我希望这是可以理解的,如果不是这样的话:请告诉我,我将尽力阐述我的问题。

要添加附加上下文,请执行以下操作:

我在一个Java程序(纯jdbc)中使用它,我的目标是收集信息以最有效的方式构建 n 个完全填充的记录对象。我已经尝试绘制所有数据并遍历排序的结果,直到构造了足够数量的记录对象,但事实证明效率不高(10万个条目大约要花半分钟)。

1 个答案:

答案 0 :(得分:1)

您可以使用Actions actions = new Actions(driver); WebElement webelement = By.cssSelector("#get- quote-enabled > fieldset > a"); actions.moveToElement(webelement).click().perform(); 限制records中的行数:

LIMIT

SELECT features.* FROM ( SELECT records.record_id FROM records LIMIT 100 ) t LEFT JOIN features ON t.record_id = features.record_id ORDER BY t.record_id 是主键,因此您不需要record_id