MySQL选择前5行(多行)

时间:2014-01-31 09:27:14

标签: mysql

我需要在MySQL中选择多行。我有一个名为'proc_table'的程序,它现在返回3个字段 - oid,objet和db.cars中的1行。查询受限(由我)。

我需要删除该限制并进行查询,这将首先返回5行。如果它们不存在,则不会有引用(具有空值的字段)。我在'伪代码'中进行了一些查询。

问:我应该使用MySQL中的哪个函数来选择特定的行?如果它们不存在,如何处理?

CREATE procedure `proc_table`() 
BEGIN
    SELECT a.oid as 'oid', 
    a.objet as 'objet', 


-- limited query
        (select tab2_oid from db.cars where tab1_oid = a.oid LIMIT 1)
-- limited query

    FROM db.tab1 as a;
END$$

伪代码

-- limited query
        (select tab2_oid as 'first_row' from db.cars where tab1_oid = a.oid where row=1)
        (select tab2_oid as 'second_row' from db.cars where tab1_oid = a.oid where row=2)
... 

-- limited query

1 个答案:

答案 0 :(得分:2)

如何使用union和LIMIT语句?

select feld1,feld2 from
( select feld1,feld2 from table1 where... LIMIT 1,1
union all
select feld1,feld2 from table2 where....LIMIT 2,1
....
)a LIMIT 5