1. 程式人生 > >MySQL中group_concat函式,用符號連線查詢分組裡欄位值

MySQL中group_concat函式,用符號連線查詢分組裡欄位值

MySQL中group_concat函式
完整的語法如下:
group_concat([DISTINCT] 要連線的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符'])

基本查詢

mysql> select * from aa;
 +------+------+
 | id| name |
 +------+------+
 |1 | 10|
 |1 | 20|
 |1 | 20|
 |2 | 20|
 |3 | 200  |
 |3 | 500  |
 +------+------+
 6 rows in set (0.00 sec)

以id分組,把name欄位的值列印在一行,逗號分隔

(預設)

mysql> select id,group_concat(name) from aa group by id;
 +------+--------------------+
 | id| group_concat(name) |
 +------+--------------------+
 |1 | 10,20,20|
 |2 | 20 |
 |3 | 200,500|
 +------+--------------------+
 3 rows in set (0.00 sec)

以id分組,把name欄位的值列印在一行,分號分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
 +------+----------------------------------+
 | id| group_concat(name separator ';') |
 +------+----------------------------------+
 |1 | 10;20;20 |
 |2 | 20|
 |3 | 200;500  |
 +------+----------------------------------+
 3 rows in set (0.00 sec)

以id分組,把去冗餘的name欄位的值列印在一行,

mysql> select id,group_concat(distinct name) from aa group by id;
 +------+-----------------------------+
 | id| group_concat(distinct name) |
 +------+-----------------------------+
 |1 | 10,20|
 |2 | 20  |
 |3 | 200,500 |
 +------+-----------------------------+
 3 rows in set (0.00 sec)

以id分組,把name欄位的值列印在一行,逗號分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
 +------+---------------------------------------+
 | id| group_concat(name order by name desc) |
 +------+---------------------------------------+
 |1 | 20,20,10  |
 |2 | 20|
 |3 | 500,200|
 +------+---------------------------------------+
 3 rows in set (0.00 sec)

相關推薦

MySQLgroup_concat函式符號連線查詢分組

MySQL中group_concat函式 完整的語法如下: group_concat([DISTINCT] 要連線的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符']) 基本查詢 mysql> select * from aa;

MySQLGROUP_CONCAT函式的使用,separator,將多行查詢結果特定字串連線起來,適用於一對多

GROUP_CONCAT  separator可將查詢結果用字串連線變為一行,需配合使用GROUP BY 舉例:查詢打分.打分是兩個評委給的分數,每個人的成績是有兩個,但希望查出來的結果是用字串連線的,變為一行資料 SELECT USERID, SCOR

MySQLgroup_concat()函式的排序方法

group_concat()函式的引數是可以直接使用order by排序的。666。。下面通過例子來說明,首先看下面的t1表。 比如,我們要檢視每個人的多個分數,將該人對應的多個分數顯示在一起,分數要從高到底排序。可以這樣寫: SELECT username,GROU

MySQLGROUP_CONCAT函式長度限制處理/實現行轉列的功能

MySQL提供了一個很方便的函式group_concat可以實現行轉列的功能。 SELECT t.*, (SELECT GROUP_CONCAT(fellow_company_id) v1 FROM t_trade_fellow a WHERE fellow_type = '1' AND a.company_

MySQLgroup_concat函式深入理解

MySQL中group_concat函式 完整的語法如下: group_concat([DISTINCT] 要連線的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符']) 功能:把多條記錄拼成一條。 1.基本查詢 mysql&

mysql 設定@@sql_mode 解決查詢分組報錯問題

1 查詢sql_mode SELECT @@sql_mode; 2 把查詢的值複製黏貼,去掉ONLY_FULL_GROUP_BY,重新設定值 SET @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISI

SQLite左外連線查詢有重複處理方法

SQLite左外連線查詢有重複欄位處理方法 sqlite在連表查詢過程中,當主表和副表有相同的欄位時,縱然結果正確,但是在處理查詢結果時,在取主表的欄位但會返回副表的欄位值。 現有表ZWAMESSAGE和表ZWAMEDIAITEM,其中兩表中有相同的三個欄位, 執行下面語句

MySQL資料庫查詢多個全部相同的記錄

資料庫中使用者表,資料從第三方系統匯入,由於一些垃圾資料,存在使用者名稱和密碼都相同的賬戶,造成介面上一些問題,SQL語句如下: select User_Account,User_Pwd,COUNT(

MySQL的IFNULLIFNULLIF函式

    MySQL中的IFNULL函式和IF函式     MySQL中的IFNULL函式類似於Oracle中的NVL函式,其表示式為:IFNULL(expr1,expr2),含義是:如果第一個引數不為空,則返

sql什麼時候連線查詢什麼時候連線查詢起來好像一樣啊!

我用內連線查詢和外連線查詢的結果是一樣的,兩者有什麼不同? 需要查詢兩張表同時存在的資料,使用內連線需要查詢兩張表中一張表存在,另一張表不存在的時候使用左外連結 或 右外連結內連線的查詢結果都是滿足連線條件的元組。但有時我們也希望輸出那些不滿足連線條件的元組資訊。比如,我們

MySQL 函式--------日期函式字串函式數學函式一些其他函式

函式 日期函式 字串函式 數學函式 其他函式 日期函式 函式名稱 描述 current_da

windows下eclipse連線虛擬機器的hadoop

1. 前言 1.1 目標 具體目標是: 在windows 上能夠使用eclipse連線Centos系統上部署的hadoop進行開發與測試 1.2 軟硬體要求 硬體要求: 三臺普通PC。 當然使用虛擬機器也可以,本環境搭建也是VMWare10虛擬機器上進行的。

sql什麼時候連線查詢什麼時候連線查詢

需要查詢兩張表同時存在的資料,使用內連線 需要查詢兩張表中一張表存在,另一張表不存在的時候使用左外連結 或 右外連結 內連線的查詢結果都是滿足連線條件的元組。但有時我們也希望輸出那些不滿足連線條件的元組資訊。比如,我們想知道每個學生的選課情況,包括已經選課的

MySQLconcat函式連線字串)

1、concat–連線字串 concat函式可以連線一個或者多個字串,若其中一個為null,則返回null mysql> select concat(‘11’,’22’,’33’); +————————+ | concat(‘11’,’22’,’3

編寫一個函式來刪除字串的空格

程式程式碼#include<stdio.h> #include<stdlib.h> void fun(char *str) { char *p=str; int i=0;

jmeter不用time函式Random函式設定正確的時間格式

時間的格式必須是24hh:59min:59s,然而使用Random函式會造成時間格式錯誤問題,如隨機出來的時間會大於24hh,59min,59s的情況,若要使用Random函式生成格式正確的時間,可以單獨對時、分、秒進行合理時間範圍內的引數化,如圖:   直接用time函

apiAutoTest:支援自定義函式可呼叫

# 0. 前言 apiAutoTest從去年8月以來開源至今,也更新了不少內容,一起來看看吧 - 第一個版本 ``` - 2020/08/08 增加實際響應儲存資料的方法,並在字典可以處理依賴見tools/svae_response.py - 2020/08/09 實現多檔案上傳,介面

刪除mysqluser為空

mysql 空賬號某日發現Mysql的密碼忘記了,嘗試更改密碼後,重啟登陸mysql,發現用root的新密碼無法登錄,報如下的錯誤: 而用空密碼或者任意密碼都可以登陸,重新查看用戶信息 發現localhost和gcs-cacti的user為空用戶,刪除空用戶後,查驗登陸正常 刪除mysql中user為空用

oracle數據庫有數據通過pl/sql查詢不到sqlplus能查到PL/SQL developer會對數據進行本地緩存

新增 不出 BE product 連接 進入 java myba In 這幾天遇到了兩個問題,都很奇葩,苦惱了三天,最終還是定位出來了。 問題一、通過pl/sql developer插入數據到遠程oracle數據庫服務器,通過pl/sql developer查詢能查詢到數據

MySQL、SQL server 、Oracle資料庫查詢所有的資料庫查詢指定資料庫所有表名查詢所有的的名字

MySQL中查詢所有資料庫名和表名 1.查詢所有資料庫 show databases; 2.查詢指定資料庫中所有表名 select table_name from information_schema.tables where table_schema='database_name' a