如何在MySQL中使用逗号分隔一列项目?
如果我select * from (select 1, 2, 3, 4, 5) a;
,它会为我提供5个不同的列,而不是名为(1, 2, 3, 4, 5)
的单个列。任何人都可以帮助我吗?
答案 0 :(得分:5)
这是一种标准的SQL方法。它不使用任何专有功能。
select 1 as n
union all
select 2
union all
select 3
union all
select 4
union all
select 5;
答案 1 :(得分:0)
Mike的解决方案对于静态范围来说是更好的解决方案,但这是一个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行,并且很容易扩展,因为一个额外的选择会使范围加倍。