日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

mysql 行列轉換的示例代碼

瀏覽:32日期:2023-10-04 16:15:59
一、需求

我們有三張表,我們需要分類統計一段時間內抗生素的不同藥敏結果,即 report_item_drugs 表的 drugs_result, 在不同項目project_name 和不同抗生素 antibiotic_dict_name 下的占比,并將藥敏結果顯示在行上,效果如下:

mysql 行列轉換的示例代碼

三張原始表(僅取需要的字段示例),分別是:

報告表

mysql 行列轉換的示例代碼

項目表

mysql 行列轉換的示例代碼

抗生素表(藥敏結果drugs_result為一列值)

mysql 行列轉換的示例代碼

二、實現

1、按照項目、抗生素分組求出檢出的總數

SELECT A.project_name,A.antibiotic_dict_name,SUM(nums) AS 檢出總數FROM ( SELECT i.project_name,d.antibiotic_dict_name,d.drugs_result,COUNT(d.id) AS nums FROM `report` r RIGHT JOIN report_item i ON r.id=i.report_id RIGHT JOIN report_item_drugs d ON d.report_item_id=i.id WHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result ) A GROUP BY A.project_name,A.antibiotic_dict_name

mysql 行列轉換的示例代碼

2、按照項目、抗生素、藥敏結果求出不同藥敏結果數量

SELECT i.project_name,d.antibiotic_dict_name,IF(d.drugs_result<>’’, d.drugs_result, ’未填寫’) AS drugs_result,COUNT(d.id) AS 數量 FROM `report` rRIGHT JOIN report_item i ON r.id=i.report_idRIGHT JOIN report_item_drugs d ON d.report_item_id=i.idWHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’ GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result

mysql 行列轉換的示例代碼

3、將兩個結果關聯到一起

SELECT BB.project_name,BB.antibiotic_dict_name,BB.drugs_result,BB.`數量`,AA.`檢出總數` FROM ( SELECT A.project_name,A.antibiotic_dict_name,SUM(nums) AS 檢出總數 FROM ( SELECT i.project_name,d.antibiotic_dict_name,d.drugs_result,COUNT(d.id) AS nums FROM `report` r RIGHT JOIN report_item i ON r.id=i.report_id RIGHT JOIN report_item_drugs d ON d.report_item_id=i.id WHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’ GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result ) A GROUP BY A.project_name,A.antibiotic_dict_name) AA RIGHT JOIN ( SELECT i.project_name,d.antibiotic_dict_name,IF(d.drugs_result<>’’, d.drugs_result, ’未填寫’) AS drugs_result,COUNT(d.id) AS 數量 FROM `report` r RIGHT JOIN report_item i ON r.id=i.report_id RIGHT JOIN report_item_drugs d ON d.report_item_id=i.id WHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’ GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result )BB ON AA.project_name=BB.project_name AND AA.antibiotic_dict_name=BB.antibiotic_dict_name WHERE AA.`檢出總數`<>’’

mysql 行列轉換的示例代碼

4、一般來說,到上一步不同藥敏數量和總數都有了,可以直接求比例了

但是,我們需要的是將藥敏顯示到行上,直接求比不符合需求,所以我們需要將列轉換為行

我們借助于case when實現行列轉換,并將藥敏結果根據字典轉為方便閱讀的漢字

mysql 行列轉換的示例代碼

SELECT C.project_name 項目名稱,C.antibiotic_dict_name 抗生素名稱,C.`檢出總數`, SUM(CASE C.`drugs_result` WHEN ’D’ THEN C.`數量` ELSE 0 END ) AS ’劑量依賴性敏感’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’D’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’劑量依賴性敏感比率’, SUM(CASE C.`drugs_result` WHEN ’R’ THEN C.`數量` ELSE 0 END ) AS ’耐藥’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’R’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’耐藥比率’, SUM(CASE C.`drugs_result` WHEN ’S’ THEN C.`數量` ELSE 0 END ) AS ’敏感’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’S’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’敏感比率’, SUM(CASE C.`drugs_result` WHEN ’I’ THEN C.`數量` ELSE 0 END ) AS ’中介’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’I’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’中介比率’, SUM(CASE C.`drugs_result` WHEN ’n1’ THEN C.`數量` ELSE 0 END ) AS ’非敏感’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’n1’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’非敏感比率’, SUM(CASE C.`drugs_result` WHEN ’N’ THEN C.`數量` ELSE 0 END ) AS ’無’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’N’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’無比率’, SUM(CASE C.`drugs_result` WHEN ’未填寫’ THEN C.`數量` ELSE 0 END ) AS ’未填寫’, CONCAT(SUM(CASE C.`drugs_result` WHEN ’未填寫’ THEN FORMAT(C.`數量`/C.`檢出總數`*100,2) ELSE 0 END),’%’) AS ’未填寫比率’FROM( SELECT BB.project_name,BB.antibiotic_dict_name,BB.drugs_result,BB.`數量`,AA.`檢出總數` FROM ( SELECT A.project_name,A.antibiotic_dict_name,SUM(nums) AS 檢出總數 FROM ( SELECT i.project_name,d.antibiotic_dict_name,d.drugs_result,COUNT(d.id) AS nums FROM `report` r RIGHT JOIN report_item i ON r.id=i.report_id RIGHT JOIN report_item_drugs d ON d.report_item_id=i.id WHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’ GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result ) A GROUP BY A.project_name,A.antibiotic_dict_name) AA RIGHT JOIN ( SELECT i.project_name,d.antibiotic_dict_name,IF(d.drugs_result<>’’, d.drugs_result, ’未填寫’) AS drugs_result,COUNT(d.id) AS 數量 FROM `report` r RIGHT JOIN report_item i ON r.id=i.report_id RIGHT JOIN report_item_drugs d ON d.report_item_id=i.id WHERE r.report_status=2 AND r.add_date BETWEEN ’2020-01-01’ AND ’2020-12-30’ GROUP BY i.project_id,d.antibiotic_dict_id,d.drugs_result )BB ON AA.project_name=BB.project_name AND AA.antibiotic_dict_name=BB.antibiotic_dict_name WHERE AA.`檢出總數`<>’’) CGROUP BY C.project_name,C.antibiotic_dict_name;

5、查看結果,成功轉換

mysql 行列轉換的示例代碼

到此這篇關于mysql 行列轉換的示例代碼的文章就介紹到這了,更多相關mysql 行列轉換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久中文字幕av| 国产日本精品| 精品国产乱码久久久久久樱花| 欧美亚洲国产日韩| 欧美国产日本| 热三久草你在线| 激情五月色综合国产精品| 亚洲欧美日韩国产综合精品二区| 野花国产精品入口| 亚洲欧美日本国产专区一区| 另类国产ts人妖高潮视频| 日韩视频一区| 日韩av字幕| 精品国产精品久久一区免费式| 欧洲一区二区三区精品| 美女久久一区| 国产乱码精品一区二区三区四区 | 成人一区而且| 久久精品国产亚洲夜色av网站| 免费成人在线观看| 国产精品mv在线观看| 欧产日产国产精品视频| 丝袜亚洲另类欧美| 国产福利亚洲| aa亚洲婷婷| 麻豆国产欧美日韩综合精品二区| av综合电影网站| 综合亚洲色图| 日韩精品dvd| 国产欧美日韩一区二区三区在线| 蜜桃一区二区三区| 精品国产aⅴ| 欧美资源在线| 电影亚洲精品噜噜在线观看| 日韩黄色av| 亚洲一区区二区| 国产在线日韩精品| 日韩一区二区三免费高清在线观看| 日韩理论片av| 国产极品模特精品一二| 在线精品视频一区| 国内精品福利| 天堂av在线| 免费视频一区二区三区在线观看| 视频一区免费在线观看| 亚洲v在线看| 88xx成人免费观看视频库| 日本va欧美va欧美va精品| 久久av一区| 国产精品三上| 欧美日韩国产高清| 99久久婷婷| 亚洲综合在线电影| 国产成人久久精品一区二区三区| 国产欧美另类| 国产精品激情| 国产精品高清一区二区| 国产乱码精品一区二区亚洲| 欧美日韩亚洲一区在线观看| 欧美永久精品| 国产探花一区在线观看| 日本h片久久| 日韩视频1区| 午夜视频一区二区在线观看| 少妇精品久久久一区二区| 亚洲开心激情| 欧美日本精品| 免费视频一区二区三区在线观看| 久久精品国产999大香线蕉 | 国产精品精品| 亚洲综合在线电影| 亚洲欧美一区在线| 亚洲欧美日韩一区在线观看| 另类国产ts人妖高潮视频| 午夜精品影视国产一区在线麻豆| 亚洲精品看片| 日本不卡一二三区黄网| 国产欧美自拍| 久久精品九色| 狠狠久久婷婷| 国产日本久久| 在线观看精品| 亚洲精品动态| 中国字幕a在线看韩国电影| 亚洲高清不卡| 国产探花在线精品一区二区| 丝袜av一区| 国产欧美另类| 亚洲午夜久久久久久尤物| 日韩精品国产精品| 日本蜜桃在线观看视频| 免费国产亚洲视频| av免费不卡国产观看| 日韩中文字幕一区二区三区| 国产精品久av福利在线观看| 九九久久电影| 激情中国色综合| 日韩精品亚洲一区二区三区免费| caoporn视频在线| 日韩精品视频网站| 亚洲经典在线| 日韩中文影院| 精品无人区麻豆乱码久久久| 热久久免费视频| 久久香蕉国产| 精品国产99| 国产亚洲字幕| 麻豆亚洲精品| 亚洲激情婷婷| 不卡一区2区| 久久91导航| 亚洲综合电影| 成人在线丰满少妇av| 日本91福利区| 日韩国产在线一| 亚洲2区在线| 亚洲1区在线| 日本欧美一区二区| 亚州精品视频| 日韩精品视频在线看| 午夜在线精品偷拍| 黄色亚洲大片免费在线观看| 99久久99视频只有精品| 久久一区二区三区电影| 亚洲va中文在线播放免费| 精品久久99| 91看片一区| 伊人久久大香线蕉av超碰演员| 午夜欧美精品久久久久久久| 国产农村妇女精品一二区| 欧美综合二区| 日本va欧美va精品| 久久精品午夜| 亚洲爱爱视频| 国产一区二区精品| 免费观看久久av| 日韩一区精品视频| 日本欧美大码aⅴ在线播放| 国产精品一区二区三区www| 精品视频在线一区二区在线| 国产va免费精品观看精品视频| 四虎影视精品| 一区二区精品| 精品国产亚洲一区二区三区在线 | 久久亚洲视频| 91精品国产自产在线丝袜啪| 丁香婷婷久久| 午夜视频精品| 国产精品99久久免费| 福利欧美精品在线| 免费中文字幕日韩欧美| 国产激情欧美| 欧美资源在线| 日韩欧美二区| 国产综合亚洲精品一区二| 国产欧美日韩免费观看| 欧美日韩国产观看视频| 久久亚洲欧洲| 麻豆理论在线观看| 日韩va欧美va亚洲va久久| 91日韩欧美| 亚洲开心激情| 天堂资源在线亚洲| 久久国产精品免费一区二区三区| 亚洲黄色在线| 国产精品亚洲综合在线观看| 国产一区二区久久久久| 免费看的黄色欧美网站 | 91精品国产福利在线观看麻豆| 一区二区三区四区在线观看国产日韩| 精品一区视频| 亚洲精品亚洲人成在线观看| 国产一区日韩欧美| 丁香婷婷久久| 国产精品久久久久77777丨| 中文一区在线| 一区二区三区四区在线看| 国产三级一区| 亚洲人成在线影院| 视频一区免费在线观看| 99免费精品| 三级在线看中文字幕完整版| 国产精品色在线网站| 深夜福利一区| 日韩影院免费视频| 老鸭窝毛片一区二区三区| 自拍日韩欧美| 九一成人免费视频| 亚洲成人三区| 亚洲调教视频在线观看| 婷婷综合六月| 999精品在线| 国产一二在线播放| 综合日韩av| 久久一级电影| 夜夜嗨一区二区三区| 另类激情亚洲| 日本不卡视频在线观看| 国产精品一卡| 精品免费视频|