如何在 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;
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 行,并且很容易扩展,因为一个额外的选择将使范围加倍。