好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mysql 列轉行,合并字段的方法(必看)

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

熱門標簽:手機用地圖標注工具 長安區違法建房地圖標注 南宋地圖標注黃河華山 電銷機器人說明書 智能電銷機器人靠譜么 安國在哪里辦理400電話 電銷機器人公眾號推送 地圖標注培訓 昆明智能外呼系統中心

數據表:

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

max---聚合函數 取最大值

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

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

SELECT
 `name`,
 MAX(
  CASE 
  WHEN course='語文' THEN
   score
  END
 ) AS 語文,
 MAX(
  CASE 
  WHEN course='數學' THEN
   score
  END
 ) AS 數學, 
 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(),手冊上說明:該函數返回帶有來自一個組的連接的非NULL值的字符串結果。
比較抽象,難以理解。

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

數參數(就是字段名)決定。分組必須有個標準,就是根據group by指定的列進行分組。

group_concat函數應該是在內部執行了group by語句,這是我的猜測。

1.測試語句:

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

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

group_concat('name')

2.測試:

SELECT
 GROUP_CONCAT(`name`)
FROM
 student
;

結果:

group_concat('name')

上面是否可以證明,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(`name`)
FROM
student;

結果得到:

group_concat('name')

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

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

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

實際中什么時候需要用到這個函數?

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

另外,假如我這樣使用:

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

意義不大。

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

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

那么顯示結果類似這樣:

group_concat(course,":",score)

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

您可能感興趣的文章:
  • mysql單字段多值分割和合并的處理方法
  • Mysql合并結果接橫向拼接字段的實現步驟
  • MySQL Union合并查詢數據及表別名、字段別名用法分析
  • 分組字符合并SQL語句 按某字段合并字符串之一(簡單合并)
  • sql server 中合并某個字段值的實例
  • mysql中合并兩個字段的方法分享
  • SQL函數將某個字段合并在一起的操作

標簽:長沙 南昌 潛江 東莞 江門 合肥 武漢 吉安

巨人網絡通訊聲明:本文標題《mysql 列轉行,合并字段的方法(必看)》,本文關鍵詞  mysql,列,轉行,合并,字段,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 列轉行,合并字段的方法(必看)》相關的同類信息!
  • 本頁收集關于mysql 列轉行,合并字段的方法(必看)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 三级黄色片网站| 国产日产综合| 武则天成人版1995未删减版| 洋巨茎大战中国女留学生| 国产精品爽爽久久久天天| 9总探花3000元| 三年中文在线观看免费版| 日本伦理电影123网站| 欧美肥胖老妇videos另类| 欧美激情精品久久久久久| 他趴在我两腿中间添得好爽在线看| 国产交换配乱吟播放免费| 99久久免费国产香蕉麻豆| 九色视频PORNY国产精品| 动漫美女被吸乳51漫画| 国产自产2023最新麻豆| 欧美ferr| 美女视频大全美女视频黄| 2022中文字字幕久亚洲| 人人狠狠综合久久亚洲婷婷| 小s货又想挨c了叫大声点| 高清性色生活片免费观看| 国产人獸交又粗又大免费软件 | 久久久xxxx| 日韩欧美国产成人| 男人把女人桶爽30分钟毛片| 天天天天做夜夜夜夜| ass芬兰肥妇bbww| 女人裸体秘?无遮挡屁股| 公交车强摁做开腿呻吟H视频| 娇妻边打电话边被躁BD在| 久久国产精品99精品国产| 大J8黑人BBW巨大怪物视频| 刺激cijilu福利区在线观看| 西欧丰满女人伦交视频| 日韩a片| 色妞WW精品视频7777| 777成了人乱视频| 97色伦图片7778久久| 国产顶级疯狂4P乱视频| 国产 亚洲 偷窥 日韩|