2013-07-22 96 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