1. 程式人生 > >Mysql GROUP_CONCAT 使用注意事項

Mysql GROUP_CONCAT 使用注意事項

GROUP_CONCAT 函式返回一個字串結果,該結果由分組中的值連線組合而成,常和 GROUP BY 連用。

如果需要自定義分隔符可以使用 SEPARATOR。

示例:

SELECT GROUP_CONCAT(id) ids FROM sys_oem_resources WHERE pid IS NOT NULL GROUP BY pid;

SELECT GROUP_CONCAT(id SEPARATOR '*') ids FROM sys_oem_resources WHERE pid IS NOT NULL GROUP BY pid;

注意示例:

別亂用 GROUP_CONCAT,說不定你現在使用的 GROUP_CONCAT 得到的結果就是隱藏著BUG的。

GROUP_CONCAT 的結果會受到 group_concat_max_len 變數的限制。

預設 group_concat_max_len = 1024,即字串的長度位元組超過1024 則會被截斷。

通過命令 "show variables like 'group_concat_max_len' " 來檢視 GROUP_CONCAT 預設的長度:

mysql> show variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set

在MySQL配置檔案中新增配置:group_concat_max_len = -1  (-1為最大值或根據實際需求設定長度),配置後需要重啟MySQL服務,檢視如下所示:

mysql> show variables like 'group_concat_max_len';
+----------------------+------------+
| Variable_name | Value |
+----------------------+------------+
| group_concat_max_len | 4294967295 |
+----------------------+------------+
1 row in set

相關推薦

eclipse中java操作mysql資料庫注意事項

1. 下載mysql JDBC驅動:例如mysql-connector-java-5.1.12(pudn上有); 2. 在eclipse裡的專案中建立lib目錄,把mysql-connector-java-5.1.12-bin-jar拷貝到這個目錄中,然後在專案的build

MySQL使用注意事項

(一)建表規約 1.【強制】表達是與否概念的欄位,必須使用 is_xxx的方式命名,資料型別是 unsigned tinyint( 1表示是,0表示否),此規則同樣適用於 odps建表。 說明:任何欄位如果為非負數,必須是 unsigned。 個人備註

MySQL索引注意事項

索引使用注意: JOIN 索引,所有匹配ON和where的欄位應建立合適的索引。 唯一值越多的欄位,使用索引的效果越好。設定聯合索引時,唯一值越多的,越應該放在“左側”。 如果可以在多個索引中進行選擇,MySQL通常使用找到最少行的索引,索引唯一值最高的索引。 建

Mysql GROUP_CONCAT 使用注意事項

GROUP_CONCAT 函式返回一個字串結果,該結果由分組中的值連線組合而成,常和 GROUP BY 連用。如果需要自定義分隔符可以使用 SEPARATOR。示例:SELECT GROUP_CONCAT(id) ids FROM sys_oem_resources WHER

Mysql GROUP_CONCAT 使用註意事項

source sources div 結果 圖片 pos 命令 value sep GROUP_CONCAT 函數返回一個字符串結果,該結果由分組中的值連接組合而成,常和 GROUP BY 連用。 如果需要自定義分隔符可以使用 SEPARATOR。 示例: SELECT G

mysql資料型別/注意事項/int(20)混淆

int(20), bigint(20)括號裡的內容指的是顯示時填充0的個數,而不是位元組或空間限制,不同於char(20)或varchar(20)的意義: https://stackoverflow.com/questions/3135804/types-in-mysql-bigint20-vs-int20

mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則和注意事項

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

(異常查詢Empty set)mysql 中的 not in 注意事項——結果集中不能有null

注意 in 結果集有 null 不影響 not in 的結果集中出現 null 則查詢結果為 Empty set 實際應用(結果集存在有null) select t1.father_id from t_pub_link_info t1; +-

MySQL索引的使用及注意事項

索引是儲存引擎用於快速找到記錄的一種資料結構。索引優化應該是對查詢效能優化最有效的手段了。索引能夠輕易將查詢效能提高几個數量級,"最優"的索引有時比一個"好的"索引效能要好兩個數量級。 索引可以包含一個(單列索引)或多個列(組合索引)的值。 想要使用組合索引首先要了解一個原則:最左字首原則。如果索引包含多

1112_maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫]

maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j

Mysql讀寫分離架構及注意事項

下面實現一個簡單的Mysql雙主多從的架構,如下圖所示: 這個架構首先考慮到的是做故障轉移,提高可用性,保證整個叢集的穩定性。 另外我們要注意以下事項: 1.當主庫發生故障時,能自動切換到備用主庫,並且要注意主庫恢復後如何繼續同步; 2.從庫應該連線主庫的一個虛擬IP,這樣就可以做到主庫

Mysql使用mysqldump定時自動備份注意事項

1.實現方法 通過批處理程式,然後新增到windows系統“控制面板”-“計劃任務”中,定時執行。 批處理檔案(bat)中程式碼如下: @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" C:\mysqldump --opt --si

Mysql索引命令、優缺點、注意事項

建立表時簡歷索引 1、建表同時建立單索引 CREATE TABLE t_user1(id INT , userName VARCHAR(20), PASSWORD VARCHAR(20), INDEX (userName) #關鍵字INDEX ); 2、建表同時建立唯一索引(可以是單或多

mysql安裝過程及注意事項

1、下載MySql  選擇對應的下載檔案。(我電腦是64位,所以這下載的是64位的下載檔案) 2、安裝MySql  開啟下載檔案解壓到指定檔案目錄。(我這裡解壓目錄為F:\Program Files\mysql-5.7.23-winx64)  

mysql 8.0.12安裝注意事項

安裝 使用msi方式安裝,win10系統。 問題 安裝之後想使用命令列的方式,不是mysql自帶的mysql shell所產生的問題: ‘mysql’ 不是內部或外部命令,也不是可執行的程式或批

sql語句(Oracle和mysql)的注意事項

我們在平時寫sql語句的時候很容易忽視一些細節問題,而且在Oracle和mysql中sql語句也是有很多的不同之處,這些我們都需要注意,下面我就把平時比較容易忽視的幾個點列出來。 一:分頁 mysql 分頁:select * form 表名 limit m,n; Oracel中分頁:

Mysql/Mariadb 升級注意事項

因需要使用到分割槽表,在業務不中斷的情況下,可以新增分割槽,需要將原來的Mariadb10.1.25版本升級到Mariadb10.3.8。 1、升級步驟如下 1)新搭建Mariadb10.3.8版本的DB 2)全備份Mariadb10.1.25版本資料(表結構、儲存過程、函式、觸發器等) 3)將Mar

MySQL 資料庫-索引注意事項

    索引注意事項 (1)最左字首原則 如果查詢的時候,查詢條件精確匹配索引的左邊連續一列或幾列,則可以命中索引。 (2)避免where 子句中對欄位施加函式,如to_date(create_time)>xxxxxx,

mysql資料庫備份之mysqldump備份原理及注意事項

關於MySQL熱備,可分為兩種方式: 邏輯備份 物理備份 對於前者,常用的工具是MySQL自帶的mysqldump,對於後者,常用的工具是Percona提供的XtraBackup。 對於規模比較小,業務並不繁忙的資料庫,一般都是選擇mysqldump。 那麼,mysqldump的

2500-使用MyBatis操作MySQL進行批量更新的注意事項

原則上一條SQL只更新一條資料庫操作,但有時需要批量操作資料,特別是一些DML語句,在操作資料庫時,資料庫會報出異常,不允許混合語句,此時需要額外配置進行相容。 例如: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExce