mysql group_concat()函數用法總結。本站提示廣大學習愛好者:(mysql group_concat()函數用法總結)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql group_concat()函數用法總結正文
本文實例講述了mysql group_concat()函數用法。分享給年夜家供年夜家參考,詳細以下:
group_concat(),手冊上解釋:該函數前往帶有來自一個組的銜接的非NULL值的字符串成果。比擬籠統,難以懂得。
淺顯點懂得,實際上是如許的:group_concat()管帳算哪些行屬於統一組,將屬於統一組的列顯示出來。要前往哪些列,由函數參數(就是字段名)決議。分組必需有個尺度,就是依據group by指定的列停止分組。
group_concat函數應當是在外部履行了group by語句,這是我的猜想。
1.測試語句:
SELECT group_concat(town) FROM `players` group by town
成果去查找town中去查找哪些值是一樣的,假如相等,就全體列出來,以逗號朋分停止列出,以下:
group_concat(town)
北京,北京
長沙
2.測試:
SELECT group_concat( town ) FROM players
成果:
group_concat(town)
長沙,北京,北京,
下面能否可以證實,group_concat只要與group by語句同時應用能力發生後果? 上面停止了現實考試
3.測試常量對group_concat()的設置裝備擺設影響:
SET @@GROUP_CONCAT_MAX_LEN=4
手冊中提到設置的語法是如許的:
SET [SESSION | GLOBAL] group_concat_max_len = val;
兩種有甚麼差別?
SET @@global.GROUP_CONCAT_MAX_LEN=4;
global可以省略,那末就釀成了:SET @@GROUP_CONCAT_MAX_LEN=4;
4.應用語句
SELECT group_concat(town) FROM `players`
成果獲得:
group_concat(town)
長沙,北京,長沙,北京
結論:group_concat()函數須要與group by語句在一路應用,能力獲得須要的後果。
緣由可以如許懂得:group_concat()獲得是屬於x組的一切成員(函數外面列參數指定須要顯示哪些字段)。x組從哪裡來?假如沒有group by停止指定,那末基本不曉得group_concat()依據哪一個分組停止顯示出成員。 所以,像下面沒有group by子句的時刻,就顯示了長沙和北京。
現實中甚麼時刻須要用到這個函數?
假設須要查詢的成果是如許:右邊顯示組名,左邊想顯示該組別下的一切成員信息。用這個函數,便可以省去許多工作了。
別的,假設我如許應用:SELECT group_concat( name, sex ) FROM `players` town。意義不年夜。group_concat()指定一個列是最好的情形。假如指定了多個列。那末顯示成果相似如許:
group_concat(name,sex)
王滔,王小明男,劉惠女,舒明女
願望本文所述對年夜家MySQL數據庫計有所贊助。