我有一个SQL查询像
SELECT id FROM chart WHERE name='qwertz' AND run_id=3
我知道此查询将返回3个数据集。对于另一个复杂的查询,我需要上面返回了我的查询的第一个/第二个/第三个id
SELECT value FROM data WHERE id=(SELECT id FROM chart WHERE name='qwertz' AND run_id=3).getFirst
SELECT value FROM data WHERE id=(SELECT id FROM chart WHERE name='qwertz' AND run_id=3).getSecond
SELECT value FROM data WHERE id=(SELECT id FROM chart WHERE name='qwertz' AND run_id=3).getThird
我该怎么做?
你可以用OFFSET
与LIMIT
:
SELECT * FROM chart
WHERE name = 'qwertz' and run_id = 3
LIMIT 1,0 -- First record
SELECT * FROM chart
WHERE name = 'qwertz' and run_id = 3
LIMIT 1,1 -- Second record
SELECT * FROM chart
WHERE name = 'qwertz' and run_id = 3
LIMIT 1,2 -- Third record
尽管没有特定的ORDER BY
条款,但这将是随机记录!
也可以写为一个查询,以将它们全部组合在一起:
SELECT * FROM chart
WHERE name = 'qwertz' and run_id = 3
LIMIT 3 -- First 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句