1. 程式人生 > >group_concat的用法 及注意點

group_concat的用法 及注意點

group_concat的預設分隔符是“,”,若要改為其他分隔符,則使用SEPARATOR來指定,
例如:
mysql> SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '@#$') AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;
除此之外,還可以對這個組的值來進行排序再連線成字串,例如按courses_id降序來排:
mysql> SELECT student_id, GROUP_CONCAT(courses_id ORDER BY courses_id DESC) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;
1.int欄位的連線陷阱
當你用group_concat的時候請注意,連線起來的欄位如果是int型,一定要轉換成char再拼起來, 否則在你執行後(ExecuteScalar或者其它任何執行SQL返回結果的方法)返回的將不是一個逗號隔開的串, 而是byte[]。 該問題當你在SQLyog等一些工具中是體現不出來的,所以很難發現。
select group_concat(ipaddress) from t_ip 返回逗號隔開的串
select group_concat(id) from t_ip 返回byte[]
select group_concat(CAST(id as char)) from t_dep 返回逗號隔開的串
select group_concat(Convert(id , char)) from t_dep 返回逗號隔開的串 Cast,convert的用法: CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name) CAST() 和CONVERT() 函式可用來獲取一個型別的值,併產生另一個型別的值。 這個型別 可以是以下值其中的 一個: BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL SIGNED [INTEGER] TIME UNSIGNED [INTEGER]
2.長度陷阱
用group_concat連線欄位的時候是有長度限制的,並不是有多少連多少。但你可以設定一下。
使用group_concat_max_len系統變數,你可以設定允許的最大長度。
程式中進行這項操作的語法如下,其中 val 是一個無符號整數: SET [SESSION | GLOBAL] group_concat_max_len = val;
若已經設定了最大長度, 則結果被截至這個最大長度。 在SQLyog中執行 SET GLOBAL group_concat_max_len = 10 後,
重新開啟SQLyog,設定就會生效。
很好的文章,轉載一下)

相關推薦

group_concat用法 注意

group_concat的預設分隔符是“,”,若要改為其他分隔符,則使用SEPARATOR來指定, 例如: mysql> SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '@#$') AS courses FR

Framework7——Template7之Helper的用法注意

  最近一直在使用Framework7,雖然Framework7可以構建精美的iOS和Android應用,也提供了文件,但是使用的時候遇到很多問題在網上還是搜不到,感覺還是沒有很多人使用。在這裡寫一下Template7的helper的用法和我遇到的坑以其解

陣列,ArrayList,HashSet的用法注意

陣列的用法:初始化及賦值: 1.int[] a=new int[3]; a[0]=1; a[1]=2; a[2]=3; 2.int[] a={1,2,3}; 3.Date[] dates=new Date[2]; dates[0]=new Date(2012, 3, 13

將專案打成war包並用tomcat部署的方法,步驟注意

部署的遇到第一個問題,就是tomcat和jdk的環境問題: 首先 理解為啥要關注這二者的環境呢?他們還是有關係的–tomcat 作為比較流行的java Web伺服器也是用java來實現的一個比較大的軟體 它也必須在虛擬機器JVM上執行 。 而java很多運用都是用在web開發上 所以他們就聯絡在一起

vue Axios 使用注意

1、使用npm安裝 npm install axios 使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script>  2、引用 import Axios fr

HTTPS配置優化注意

Nginx官網反向代理時配置SSL證書,需要enable ngx_http_ssl_module模組,且需要支援的openssl開發版,預設配置引數比較少,但是可以根據實際情況對效能及安全性做成優化,具體如下! 一、SSL引數具體優化(這裡只填主要的) 1. ssl_protocols TLSv

Java中包裝類作用注意

轉載地址: https://blog.csdn.net/liu_005/article/details/79585956 Java中對每種基本型別都有一個對應的包裝類,這裡主要講解包裝類的作用和包裝類使用時的一些注意點。 包裝類的作用 作用主要有以下兩方面:  - 編

django 三種快取模式的使用注意

Django 快取模式的使用(主要針對RestFul設計模式的專案) 有三種模式: 全站使用快取模式(整個專案每個介面都會使用快取,缺點:所以介面都無法實時性獲取資料) 單獨檢視快取模式(單個介面使用快取) 區域性檢視快取模式 第一種:實現方式:         必須在 settings中設定 快取中介軟

jquery.cookie用法及其注意

    jquery.cookie是一個輕量級的cookie外掛,由於已被封裝好,可拿來即用。   基本的建立、讀取、刪除見另一篇文章 淺談localStorage、sessionStorage 與cookie 。   從名字上就可以看出jquery.coo

Unity進階篇:主執行緒和子執行緒概念注意

先理解一下什麼是執行緒: 執行緒是作業系統級別的概念,現代作業系統都實現並且支援執行緒,執行緒的排程對應用開發者是透明的,開發者無法預期某執行緒在何時被排程執行。基於此,一般那種隨機出現的BUG,多與

《NETTY官方文件》4.1的新特性注意

原文連結  譯者:裘卡 此文件涵蓋了netty4.0到4.1值得關注的變更點及新特性。 儘管我們盡力做到對4.0的向後相容,4.1仍包含了一些無法完全向後相容4.0的特性。請確保升級之後對應用進行重新編譯。 在重新編譯應用以後,你會看到一些deprecation的警告。請一定按照提示修改為相應

《NETTY官方文件》4.0的新特性注意

原文連結 譯者:裘卡 此文件涵蓋了此次Netty大版本中值得關注的變更點及新特性,以幫助你將自己的應用順利移植到新版本。 專案結構變更 基於netty已經不再是JBoss.org的一部分,我們將包名從 org.jboss.netty 變更為 io.netty。 二進位制jar包也被分割成了

WKWebView 使用注意(keng)

作者你好,我最近遇到相同的問題,需要在網頁尾部追加一個附加檢視。 看了你追加尾圖實現的效果,發現可以的。但是在下載Demo後,你可以測試下,如果github上,我選擇註冊時,是不是你追加的尾圖會遮蓋原網頁內容。我也不確定這個問題是不是因為JS造成的,望答覆。

MVC 檢視助手書寫規範注意

  @Html.TextBoxFor() 講解(其他類似的 @Html.LabelFor 等)同理   @Html.TextBoxFor(model => model.SearchParams.Name, new { @class = "col-md-12 sea

scala基本語法注意

首先我們要知道,scala的語法中"(1).to(10)"是可以寫成"1 to 10"的。在通常情況寫,這種表示式的寫法是從左到右結合的,除了用":"結尾的方法外。用":"結尾的方法屬於從右到左結合的。例如:List的"::"方法,在List中"::"的定義如下:

內部類的用法注意事項

       1. 什麼是內部類?        內部類就是在一個類的內部定義的類,內部類中不能定義靜態成員(靜態成員不是物件的特性,只是為了找一個容身之處,所以需要放到一個類中而已,這麼一點小事,你還要把它放到類內部的一個類中,過分了啊!提供內部類,不是

Scrollview與Scroller用法問題小結

1.Scrollview 與Scroller的簡介: ScrollView是可以實現控制元件在超出螢幕範圍的情況下滾動顯示的控制元件,其內部的滑動是基於Scroller來實現的。 Scroller類是為了實現View平滑滾動的一個Helper類。通常在自定義的View時使用

Java 讀取 properties 配置檔案的幾種方式注意

1、引言 java開發中,經常需要讀取配置檔案,有時即使我們方法是對的,但是就是讀取不到需要的內容,會報下面的錯: java.io.FileNotFoundException: sr/configure/config.properties (No such file or dir

NodeJS模組和ES6模組系統語法注意

社群模組規範: 1.CommonJS規範 規範實現者: NodeJS 服務端 Browserify 瀏覽器 2.AMD規範 全稱 非同步模組定義 規範實現者: RequireJS 瀏覽器 3.CMD規範 通用模組定義 規範實現者: seaJS 服務端和瀏覽器通用 官方模組規範 1.ESM規範 就是E

公寓專案基本功能實現的編寫流程注意

eclipse:登入/登出=>admin後臺管理介面jsp=>list=>分頁=>詳情=>修改=>新增=>刪除=>搜尋=>設定使用者許可權 資料庫:建立資料庫=>按照專案需求建立9個表,設定欄位和主鍵、外來鍵 建立util工具包:U