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

MySQL行列互換的實(shí)現(xiàn)示例

 更新時(shí)間:2024年06月20日 11:37:33   作者:geekmice  
在MySQL中行轉(zhuǎn)列和列轉(zhuǎn)行都是非常有用的操作,本文主要介紹了MySQL行列互換的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

場(chǎng)景1 行轉(zhuǎn)換列

1、表結(jié)構(gòu)和數(shù)據(jù)

/*
 Navicat Premium Data Transfer

 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 80027
 Source Host           : localhost:3306
 Source Schema         : school

 Target Server Type    : MySQL
 Target Server Version : 80027
 File Encoding         : 65001

 Date: 13/06/2024 14:50:51
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (
  `stu_no` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '學(xué)號(hào)',
  `course_no` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '課程號(hào)',
  `score_prize` decimal(4, 1) NULL DEFAULT NULL COMMENT '成績(jī)',
  PRIMARY KEY (`stu_no`, `course_no`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES ('0001', '0001', 40.0);
INSERT INTO `score` VALUES ('0001', '0002', 50.0);
INSERT INTO `score` VALUES ('0001', '0003', 48.0);
INSERT INTO `score` VALUES ('0002', '0001', 40.0);
INSERT INTO `score` VALUES ('0002', '0002', 30.0);
INSERT INTO `score` VALUES ('0002', '0003', 99.0);
INSERT INTO `score` VALUES ('0003', '0001', 70.0);
INSERT INTO `score` VALUES ('0003', '0002', 77.0);
INSERT INTO `score` VALUES ('0003', '0003', 60.0);

SET FOREIGN_KEY_CHECKS = 1;

2、效果圖說(shuō)明,第一列用戶(hù)信息stu_no,第二列課程號(hào)course_no,第三列課程成績(jī)

在這里插入圖片描述

stu_no語(yǔ)文數(shù)學(xué)英語(yǔ)
000140.050.048.0
000240.030.099.0
000370.077.060.0

3、實(shí)現(xiàn)SQL

select stu_no,
       sum(IF(course_no = '0001', score_prize, 0)) as '語(yǔ)文',
       sum(IF(course_no = '0002', score_prize, 0)) as '數(shù)學(xué)',
       sum(IF(course_no = '0003', score_prize, 0)) as '英語(yǔ)'
from score
group by stu_no;

場(chǎng)景2:列轉(zhuǎn)換行

1、準(zhǔn)備數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)

/*
 Navicat Premium Data Transfer

 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 80027
 Source Host           : localhost:3306
 Source Schema         : school

 Target Server Type    : MySQL
 Target Server Version : 80027
 File Encoding         : 65001

 Date: 13/06/2024 14:54:37
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for cjs
-- ----------------------------
DROP TABLE IF EXISTS `cjs`;
CREATE TABLE `cjs`  (
  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `chinese` int NULL DEFAULT NULL,
  `math` int NULL DEFAULT NULL,
  `phy` int NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of cjs
-- ----------------------------
INSERT INTO `cjs` VALUES ('張三', 89, 90, 79);
INSERT INTO `cjs` VALUES ('李四', 88, 79, 90);

SET FOREIGN_KEY_CHECKS = 1;

2、效果圖

在這里插入圖片描述

namecourse
張三90
張三89
張三79
李四79
李四88
李四90

3、業(yè)務(wù)代碼

select *
from (
         select name, math as course
         from cjs
         union all
         select name, chinese as course
         from cjs
         union all
         select name, phy as course
         from cjs
     ) t
order by t.name;

到此這篇關(guān)于MySQL行列互換的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)MySQL行列互換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例

    MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例

    這篇文章主要介紹了MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例,問(wèn)題日志請(qǐng)見(jiàn)正文,本文使用slave_net_timeout參數(shù)解決了這個(gè)問(wèn)題,需要的朋友可以參考下
    2015-05-05
  • 忘記Mysql密碼的解決辦法小結(jié)

    忘記Mysql密碼的解決辦法小結(jié)

    最近老是忘記mysql密碼。網(wǎng)上學(xué)習(xí)了四種解決辦法,記錄下來(lái)。分享給大家
    2014-07-07
  • Mysql事務(wù)操作失敗如何解決

    Mysql事務(wù)操作失敗如何解決

    這篇文章主要介紹了Mysql事務(wù)操作失敗如何解決的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • sql和MySQL的語(yǔ)句執(zhí)行順序分析

    sql和MySQL的語(yǔ)句執(zhí)行順序分析

    本文就sql和mysql的語(yǔ)句執(zhí)行順序問(wèn)題向大家作了詳細(xì)介紹,小編覺(jué)得挺不錯(cuò)的,這里分享下,供大家參考。
    2017-10-10
  • MySQL中的binlog相關(guān)命令和恢復(fù)技巧

    MySQL中的binlog相關(guān)命令和恢復(fù)技巧

    這篇文章主要介紹了MySQL中的binlog相關(guān)命令和恢復(fù)技巧,需要的朋友可以參考下
    2014-05-05
  • 最新評(píng)論

    綦江县| 康平县| 彭泽县| 比如县| 瑞昌市| 民丰县| 扶风县| 永泰县| 常州市| 浦东新区| 鹿邑县| 新和县| 黄大仙区| 长兴县| 青阳县| 三河市| 黄平县| 会昌县| 东平县| 开封县| 卢龙县| 凭祥市| 涟源市| 兴安县| 浮山县| 凤翔县| 顺昌县| 泉州市| 五峰| 应城市| 浮梁县| 涞水县| 内黄县| 大石桥市| 贵德县| 七台河市| 太白县| 安图县| 吉首市| 岫岩| 梅州市|