2013-07-22 50 views
0

如何获取由MySQL中的逗号分隔的一列项目?获取由多个值组成的单个列

如果我这样做select * from (select 1, 2, 3, 4, 5) a;它给了我5个不同的列,而不是一个名为(1, 2, 3, 4, 5)的列。谁能帮我吗?

+0

您的行数(1-5)是否已修复? –

+0

你想要的值是一个单一的字符串与逗号分隔值? –

+0

(1,2,3,4,5)只是一个例子。我只想要一些值。 – deepak

回答

5

这是一种标准的SQL方法。它不使用任何专有功能。

select 1 as n 
union all 
select 2 
union all 
select 3 
union all 
select 4 
union all 
select 5; 
0

迈克的解决方案是静态的范围内最好的一个,但这里的情况下,MySQL的具体的解决方案,你需要的行数更容易进行调整;

SELECT @row := @row + 1 as row 
FROM 
    (SELECT 0 UNION ALL SELECT 1) t2, 
    (SELECT 0 UNION ALL SELECT 1) t4, 
    (SELECT 0 UNION ALL SELECT 1) t8, 
    (SELECT 0 UNION ALL SELECT 1) t16, 
    (SELECT @row:=0) a 
WHERE @row < 5 

这将仅仅通过改变WHERE子句生成多达16行,是容易的,因为一个额外的选择将增加一倍的范围扩大。

An SQLfiddle to test with