最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 列轉(zhuǎn)行,合并字段的方法(必看)

 更新時間:2017年03月25日 11:55:19   投稿:jingxian  
下面小編就為大家?guī)硪黄猰ysql 列轉(zhuǎn)行,合并字段的方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

數(shù)據(jù)表:

列轉(zhuǎn)行:利用max(case when then)

max---聚合函數(shù) 取最大值

(case course when '語文' then score else 0 end) ---判斷

as 語文---別名作為列名

SELECT
 `name`,
 MAX(
  CASE 
  WHEN course='語文' THEN
   score
  END
 ) AS 語文,
 MAX(
  CASE 
  WHEN course='數(shù)學(xué)' THEN
   score
  END
 ) AS 數(shù)學(xué), 
 MAX(
  CASE 
  WHEN course='英語' THEN
   score
  END
 ) AS 英語
FROM
 student
GROUP BY `name`
;

合并字段顯示:利用group_cancat(course,”:”,”score”)

SELECT
 `name`,
 GROUP_CONCAT(course, ":", score) AS 成績
FROM
 student
GROUP BY
 `name`;

group_concat(),手冊上說明:該函數(shù)返回帶有來自一個組的連接的非NULL值的字符串結(jié)果。
比較抽象,難以理解。

通俗點(diǎn)理解,其實(shí)是這樣的:group_concat()會計(jì)算哪些行屬于同一組,將屬于同一組的列顯示出來。要返回哪些列,由函

數(shù)參數(shù)(就是字段名)決定。分組必須有個標(biāo)準(zhǔn),就是根據(jù)group by指定的列進(jìn)行分組。

group_concat函數(shù)應(yīng)該是在內(nèi)部執(zhí)行了group by語句,這是我的猜測。

1.測試語句:

SELECT
 GROUP_CONCAT(`name`)
FROM
 student
GROUP BY
 `name`;

結(jié)果去查找name中去查找哪些值是一樣的,如果相等,就全部列出來,以逗號分割進(jìn)行列出,如下:

group_concat('name')

2.測試:

SELECT
 GROUP_CONCAT(`name`)
FROM
 student
;

結(jié)果:

group_concat('name')

上面是否可以證明,group_concat只有與group by語句同時使用才能產(chǎn)生效果? 下面進(jìn)行了實(shí)際測驗(yàn)

3.測試常量對group_concat()的配置影響:

SET @@GROUP_CONCAT_MAX_LEN=4

手冊中提到設(shè)置的語法是這樣的:

SET [SESSION | GLOBAL] group_concat_max_len = val;

兩種有什么區(qū)別?

SET @@global.GROUP_CONCAT_MAX_LEN=4;
global可以省略,那么就變成了:SET @@GROUP_CONCAT_MAX_LEN=4;

4.使用語句

SELECT
GROUP_CONCAT(`name`)
FROM
student;

結(jié)果得到:

group_concat('name')

結(jié)論:group_concat()函數(shù)需要與group by語句在一起使用,才能得到需要的效果。

原因可以這樣理解:group_concat()得到是屬于x組的所有成員(函數(shù)里面列參數(shù)指定需要顯示哪些字段)。x組從哪里來?

如果沒有g(shù)roup by進(jìn)行指定,那么根本不知道group_concat()根據(jù)哪個分組進(jìn)行顯示出成員。 所以,像上面沒有g(shù)roup by子句的時候,就顯示了劉備,關(guān)羽,張飛,劉備,關(guān)羽,張飛,劉備,關(guān)羽,張飛。

實(shí)際中什么時候需要用到這個函數(shù)?

假如需要查詢的結(jié)果是這樣:左邊顯示組名,右邊想顯示該組別下的所有成員信息。用這個函數(shù),就可以省去很多事情了。

另外,假如我這樣使用:

SELECT
 `name`,
 GROUP_CONCAT(course, ":", score) AS 成績
FROM
 student
;

意義不大。

group_concat()指定一個列是最好的情況。如果指定了多個列。

SELECT
 `name`,
 GROUP_CONCAT(course, ":", score) AS 成績
FROM
 student
GROUP BY
 `name`;

那么顯示結(jié)果類似這樣:

group_concat(course,":",score)

以上這篇mysql 列轉(zhuǎn)行,合并字段的方法(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號

    Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號

    使用Mysql的GROUP_CONCAT函數(shù)和CONCAT函數(shù),將查詢結(jié)果的列橫向轉(zhuǎn)換為逗號拼接的字符串,并在每個值周圍加上雙引號,最終結(jié)果每一行包含一個user_id和一個由雙引號括起來的user_names字段,本文介紹Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號的知識,感興趣的朋友一起看看吧
    2025-02-02
  • MySQL庫表名大小寫的選擇

    MySQL庫表名大小寫的選擇

    一般在數(shù)據(jù)庫使用規(guī)范中,我們都會看到這么一條:庫名及表名一律使用小寫英文。你有沒有思考過,為什么推薦使用小寫呢?庫表名是否應(yīng)該區(qū)分大小寫呢?帶著這些疑問,我們一起來看下本篇文章。
    2021-06-06
  • 解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題

    解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題

    這篇文章主要介紹了解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • MySQL如何創(chuàng)建視圖

    MySQL如何創(chuàng)建視圖

    這篇文章主要介紹了MySQL如何創(chuàng)建視圖,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • 深入談?wù)凪ySQL中的自增主鍵

    深入談?wù)凪ySQL中的自增主鍵

    這篇文章主要給大家介紹了關(guān)于MySQL中自增主鍵的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • MySQL8.0.21.0社區(qū)版安裝教程(圖文詳解)

    MySQL8.0.21.0社區(qū)版安裝教程(圖文詳解)

    這篇文章主要介紹了MySQL8.0.21.0社區(qū)版安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • SQL?SERVER數(shù)據(jù)庫服務(wù)器CPU不能全部利用原因解析

    SQL?SERVER數(shù)據(jù)庫服務(wù)器CPU不能全部利用原因解析

    這篇文章主要介紹了SQL?SERVER數(shù)據(jù)庫服務(wù)器CPU不能全部利用原因解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • Mysql CAST函數(shù)的具體使用

    Mysql CAST函數(shù)的具體使用

    本文主要介紹了Mysql CAST函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • MySQL在線DDL工具 gh-ost的原理解析

    MySQL在線DDL工具 gh-ost的原理解析

    這篇文章主要介紹了MySQL在線DDL工具 gh-ost,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • phpstudy安裝后mysql無法啟動的解決

    phpstudy安裝后mysql無法啟動的解決

    本文主要介紹了phpstudy安裝后mysql無法啟動的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論

铁岭县| 加查县| 黑水县| 上高县| 宣化县| 那坡县| 新田县| 古田县| 平果县| 东莞市| 黎川县| 仙桃市| 阿拉善右旗| 九寨沟县| 永福县| 华安县| 宜兰县| 德钦县| 上犹县| 哈巴河县| 仲巴县| 汶上县| 新源县| 方城县| 沐川县| 麟游县| 咸阳市| 新宾| 宁国市| 安远县| 湾仔区| 浪卡子县| 格尔木市| 宁夏| 富阳市| 衡山县| 建始县| 海安县| 德保县| 绍兴县| 玉田县|