如何获取由MySQL中的逗号分隔的一列项目?获取由多个值组成的单个列
如果我这样做select * from (select 1, 2, 3, 4, 5) a;
它给了我5个不同的列,而不是一个名为(1, 2, 3, 4, 5)
的列。谁能帮我吗?
如何获取由MySQL中的逗号分隔的一列项目?获取由多个值组成的单个列
如果我这样做select * from (select 1, 2, 3, 4, 5) a;
它给了我5个不同的列,而不是一个名为(1, 2, 3, 4, 5)
的列。谁能帮我吗?
这是一种标准的SQL方法。它不使用任何专有功能。
select 1 as n
union all
select 2
union all
select 3
union all
select 4
union all
select 5;
迈克的解决方案是静态的范围内最好的一个,但这里的情况下,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行,是容易的,因为一个额外的选择将增加一倍的范围扩大。
您的行数(1-5)是否已修复? –
你想要的值是一个单一的字符串与逗号分隔值? –
(1,2,3,4,5)只是一个例子。我只想要一些值。 – deepak