2016-04-09 31 views
1

mysql 5.5Mysql dizeleri toplayabilir misiniz?

Seçimde, çeşitli şeyler saymak için toplamı kullanıyorum. Toplama X tarafından gruplandırılmış kayıtlarda yapıldığı için, bir satır, tüm grup için toplam sonuçlarla döndürülür.

Benim sorum bunu dizelerle yapabilir misin? Hesapladığım farklı miktarlar satırdaki değerlere dayanır. Bu satırlarda, bir birleştirilmiş son dizgede toplamak istediğim metin değerleri.

Sum_string (thistextvalue) gibi bir şey arıyorum.

Teşekkür ederiz.

(Ben mysql-acemi etiketi kullanılmış olurdu ama bir tane değil ben genelde acemi olarak kendimi belirlemeye çalışır -. Ama bazı gerçekten akıllı bir adam dışarı düzenler.) Muhtemelen aradığınız

+2

deneyin [ 'GROUP_CONCAT'] (http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group- concat)? – trincot

cevap

3

GROUP_CONCAT fonksiyon

SELECT GROUP_CONCAT(word) FROM table GROUP BY X 
+0

% 100. Teşekkür ederim. Hatta mantığı buraya da koyabilirsiniz! – user116032

+0

'@@ group_concat_max_len' değişkeninin, sonuçta ortaya çıkan dizginin boyutunu varsayılan olarak oldukça küçük bir boyuta sınırlandırdığını unutmayın. Muhtemelen bu dizeleri kesmek için, bunu değiştirmek isteyeceksiniz. Geçici olarak, mevcut denizinizdeki herhangi bir limiti SET SET @@ group_concat_max_len = ~ 0; 'ile 0xFFFFFFFFFFFFFFFF bayt olarak ayarlayabilirsiniz. :) –

1

Sen GROUP_CONCAT kullanabilirsiniz. Dokümanlar Örnek:

SELECT student_name, 
    GROUP_CONCAT(DISTINCT test_score 
       ORDER BY test_score DESC SEPARATOR ' ') 
    FROM student 
    GROUP BY student_name;