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

主頁 > 知識庫 > mysql 行列動態轉換的實現(列聯表,交叉表)

mysql 行列動態轉換的實現(列聯表,交叉表)

熱門標簽:谷歌地圖標注位置圖解 沈陽智能外呼系統供應商 桂林云電銷機器人收費 東莞外呼企業管理系統 如何選擇優質的外呼系統 地圖簡圖標注 南通電銷外呼系統哪家強 清遠申請400電話 手機外呼系統違法嗎

(1)動態,適用于列不確定情況

create table table_name(
 id int primary key,
 col1 char(2),
 col2 char(2),
 col3 int
);
insert into table_name values
(1 ,'A1','B1',9),
(2 ,'A2','B1',7),
(3 ,'A3','B1',4),
(4 ,'A4','B1',2),
(5 ,'A1','B2',2),
(6 ,'A2','B2',9),
(7 ,'A3','B2',8),
(8 ,'A4','B2',5),
(9 ,'A1','B3',1),
(10 ,'A2','B3',8),
(11 ,'A3','B3',8),
(12 ,'A4','B3',6),
(13 ,'A1','B4',8),
(14 ,'A2','B4',2),
(15 ,'A3','B4',6),
(16 ,'A4','B4',9),
(17 ,'A1','B4',3),
(18 ,'A2','B4',5),
(19 ,'A3','B4',2),
(20 ,'A4','B4',5);
select * from table_name;
+----+------+------+------+
| id | col1 | col2 | col3 |
+----+------+------+------+
| 1 | A1  | B1  |  9 |
| 2 | A2  | B1  |  7 |
| 3 | A3  | B1  |  4 |
| 4 | A4  | B1  |  2 |
| 5 | A1  | B2  |  2 |
| 6 | A2  | B2  |  9 |
| 7 | A3  | B2  |  8 |
| 8 | A4  | B2  |  5 |
| 9 | A1  | B3  |  1 |
| 10 | A2  | B3  |  8 |
| 11 | A3  | B3  |  8 |
| 12 | A4  | B3  |  6 |
| 13 | A1  | B4  |  8 |
| 14 | A2  | B4  |  2 |
| 15 | A3  | B4  |  6 |
| 16 | A4  | B4  |  9 |
| 17 | A1  | B4  |  3 |
| 18 | A2  | B4  |  5 |
| 19 | A3  | B4  |  2 |
| 20 | A4  | B4  |  5 |
+----+------+------+------+
SET @EE='';
SELECT @EE:=CONCAT(@EE,'SUM(IF(col2=\'',col2,''',',col3,0)) AS ',col2,',') FROM (SELECT DISTINCT col2 FROM table_name) A;
SET @QQ=CONCAT('SELECT ifnull(col1,\'total') AS columnA,',LEFT(@EE,LENGTH(@EE)-1),' ,SUM(col3) AS TOTAL FROM table_name GROUP BY col1 WITH ROLLUP');
PREPARE stmt2 FROM @QQ;
EXECUTE stmt2;
+---------+------+------+------+------+-------+
| columnA | B1  | B2  | B3  | B4  | TOTAL |
+---------+------+------+------+------+-------+
| A1   |  9 |  2 |  1 |  11 |  23 |
| A2   |  7 |  9 |  8 |  7 |  31 |
| A3   |  4 |  8 |  8 |  8 |  28 |
| A4   |  2 |  5 |  6 |  14 |  27 |
| total  |  22 |  24 |  23 |  40 |  109 |
+---------+------+------+------+------+-------+

(2)第二個字段確定的情況下使用

SELECT
  IFNULL(col1,'total') AS total,
  SUM(IF(col2='B1',col3,0)) AS B1,
  SUM(IF(col2='B2',col3,0)) AS B2,
  SUM(IF(col2='B3',col3,0)) AS B3,
  SUM(IF(col2='B4',col3,0)) AS B4,
  SUM(IF(col2='total',col3,0)) AS total
 FROM (
  SELECT col1,IFNULL(col2,'total') AS col2,SUM(col3) AS col3
  FROM table_name
  GROUP BY col1,col2
  WITH ROLLUP
  HAVING col1 IS NOT NULL
 ) AS A
 GROUP BY col1
 WITH ROLLUP;

注: WITH ROLLUP 用于列上求和; SUM(IF(col2='total',col3,0)) AS total 用于行上求和。

(3)第二個字段確定的情況下使用

select ifnull(col1,'total') AS col1,
 sum(if(col2='B1',col3,0)) AS B1,
 sum(if(col2='B2',col3,0)) AS B2,
 sum(if(col2='B3',col3,0)) AS B3,
 sum(if(col2='B4',col3,0)) AS B4,SUM(col3) AS TOTAL
 from table_name
 group by col1 with rollup ;

以上這篇mysql 行列動態轉換的實現(列聯表,交叉表)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 數據庫實現行列轉換(mysql示例)
  • mysql 行列轉換的示例代碼

標簽:重慶 常德 天津 臨沂 成都 貴州 湖州 內蒙古

巨人網絡通訊聲明:本文標題《mysql 行列動態轉換的實現(列聯表,交叉表)》,本文關鍵詞  mysql,行列,動態,轉換,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 行列動態轉換的實現(列聯表,交叉表)》相關的同類信息!
  • 本頁收集關于mysql 行列動態轉換的實現(列聯表,交叉表)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 誘惑パンスト痴女OL波多野結衣| 波多野结衣pgd一833| 色情大尺度吃奶做爰电影| 国产高清精品一区二区三区| 成人免费韩漫网站无遮羞| 性伦片美国刺激片| 男人女人爽爽爽爽免费 | 欧美白人猛性xxxxx69交| 扒开双腿猛进入爽爽A片| 扒开美女疯狂桶?难受| 91d精品产国品一二三产区简介| 口枷乳铐紧缚调教| 李茹和强壮的公么征服| 久久99热只有频精品91密拍| 国产一级特黄特色aa毛片| 亚洲成a人片777777网站| 女教师日记2暴露的醒完整版| 欧美成人中文字幕dvd| 免费观看女生的隐私| 精品久久久久久乐| 一二三四免费观看在线视频6+1| 八一高清在线观看| 强揉爆乳女教师2| 国产做受???高潮漫动| 亚洲风情网| 黄色app下载安装无限看| 激情老妇短篇小说| 成人免费观看A片www下网| 日韩精品一区二区三区四区蜜桃 | 91精品国| 男人激烈吮乳吃奶动图免费全文阅读 | 亚洲欧美在线观看一区二区| 欧美一二三区在线| 金瓶3之女鸳鸯A片| 他趴在两腿中间舔我公共场合刺激| 穿着裙子在哪里都能做| 美女喷液视频| 人妖系列精品视频在线观看| 色情乱婬一区二区三区AⅤ在线| 久久免费看视频| 色 综合 欧美 亚洲 国产|