2012-12-14 35 views
1

如何i中的多個值存儲在定義的變量如何將多個值存儲在定義的變量

一般而言MySQL用戶MySQL用戶,

select @a:=color from tabex; 

其中tabex是如下

mysql> select * from tabex; 

+----+----------+-------+-----------+ 
| id | personid | color | color_set | 
+----+----------+-------+-----------+ 
| 1 |  1 | red | red,white | 
| 2 |  1 | white | red,white | 
| 3 |  2 | blue | NULL  | 
| 4 |  2 | red | NULL  | 
+----+----------+-------+-----------+ 

那麼如果我執行查詢後

mysql> select @a; 

+------+ 
| @a | 
+------+ 
| red | 
+------+ 

我得到了上述結果,但實際上我想下面的結果

+-------+ 
| @a | 
+-------+ 
| red | 
| white | 
| blue | 
| red | 
+-------+ 

可以請任何身體告訴我,這是可能的,或不能在MySQL中。

只是我的問題是如何存儲在MySQL用戶的多重價值定義的變量

+0

這是可能的..用戶定義的變量存儲一個值..所以要存儲多個你將不得不作出連接字符串。 'GROUP_CONCAT(color)'可以做到這一點。 –

回答

0

你可以用下面這句話讓所有的結果作爲一個字符串

select GROUP_CONCAT(color) from tabex; 

點擊here以上信息

+0

如果你正在查看一個大的查詢結果,這裏有一個非常重要的限制,值得明確提及:「結果被截斷到由group_concat_max_len系統變量給出的最大長度,該系統變量的缺省值爲1024.雖然返回值的有效最大長度受max_allowed_pa​​cket的值約束,但該值可以設置得更高。「 – matt

相關問題