首页 > 数据库 >Mysql 行列转换

Mysql 行列转换

时间:2024-07-30 15:56:40浏览次数:13  
标签:case 转换 utf8mb4 DEFAULT max 行列 result Mysql subject

mysql 用case 

CREATE TABLE `stu` (
  `name` varchar(255) DEFAULT NULL,
  `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `result` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


INSERT INTO stu (name, subject, result) VALUES
('张三', '语文', '89'),
('张三', '数学', '100'),
('张三', '英语', '50'),
('李四', '语文', '39'),
('李四', '数学', '87'),
('李四', '英语', '74');

 

要求输出格式如下:

 

select  name,
max(case when subject = '语文' then cast(result as char) end ) as 语文,
max(case when subject = '数学' then cast(result as char) end ) as 数学,
max(case when subject = '英语' then cast(result as char) end ) as 英语
from stu group by name

###max 是因为group by 用了之后,select 中需要有个聚合函数

  

标签:case,转换,utf8mb4,DEFAULT,max,行列,result,Mysql,subject
From: https://www.cnblogs.com/cbugs/p/18332649

相关文章

  • 一分多行列转换(Gbase版)
    1、源数据表结构CREATETABLE"sf_ref_pd_config"("I_BATCH_NO"decimal(5,0)DEFAULTNULLCOMMENT'批次ID',"V_ASSET_CLASS_NAME"varchar(200)DEFAULTNULLCOMMENT'资产类型',"N_EXEC_ID"decimal(5,0)DEF......
  • 将字符串转换为json格式
    我有一个Excel电子表格,当我直接在python中读取它时,它失败了。所以我先在PowerQuery中读,然后在python中读,但是在PowerQuery中读时丢失了json双引号。我尝试了demjson3,但无法成功。我尝试用Python逐行阅读,这不是一个好主意。我希望能够在python中将其呈现为json。......
  • mysql 8 临时表空间
    mysql>optimizetableiuap_apdoc_coredoc.productapplyrange;+--------------------------------------+----------+----------+-------------------------------------------------------------------+|Table|Op|Msg_type|......
  • mongodb数据迁移mysql
    1、安装MongoDB参考链接https://blog.csdn.net/qq_45664055/article/details/119794071http://bbs.itying.com/topic/5bd675d80e525017c449479d1.1创建repo文件,MongoDB数据库不在yum的官方仓库,通过配置如下文件,可以通过yum下载MongoDBvi/etc/yum.repos.d/mongodb-org-4......
  • 忘记MySQL密码的处理措施(取消密码认证,直接登录)
    忘记MySQL密码/etc/my.cnf.d/mysql-server.cnf删除#号,取消注释skip-grant-tables选项下参数重启mysqld服务后,直接回车登录查看status状态直接修改密码无法成功,提示在skip-grant-tables选项下使用FLUSHPRIVILEGES;命令刷新权限即可回到上面删除掉skip-grant-tables......
  • 对 ParamSpec 变量应用转换?
    有什么方法可以对aParamSpec进行转换吗?我可以用一个例子来说明这个问题:fromtypingimportCallabledefas_upper(x:str):returnx.upper()defeventually(f:Callable[P,None],*args:P.args,**kwargs:P.kwargs):definner():deftrans......
  • MYSQL学习总结
    事务:一个不可拆分的操作,要么全部执行完,要么全都不执行;隔离级别:总共有四个,分别是ReadUncommitted(读取未提交内容),ReadCommitted(读取提交内容),RepeatableRead(可重读),Serializable(可串行化);ReadUncommitted(读取未提交内容):一个事务可以读取另一个事务未提交的数据;如果另一个事务......
  • Mysql时间互转
    第一种情况:日期转字符串1、函数:date_format(date,format)selectdate_format(now(),'%Y-%m-%d%H:%i:%S');第二种情况:日期转时间戳1、函数:unix_timestamp(data)selectunix_timestamp(now());第三种情况:字符串转日期1、函数:str_to_date(str,format);注:format格式必须......
  • MySQL安装
    1、安装成功的步骤#获取rpmsudorpm-Uvhhttps://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm#直接安装yuminstall-ymysql-community-server#查看服务systemctlstatusmysql2、安装成功后续#安装成功后续#启动systemctlstartmysqld.s......
  • 分享一个MySQL数据库表结构导出word文档最方便的方法
    原文链接:https://blog.csdn.net/typ1805/article/details/836587081、使用的是MySQL-Front工具,这个工具使用非常方便,尤其是导出数据的时候,几百万的数据一两分钟就导完了,推荐使用。MySQL-Front下载(只有3.93M):https://mysql-front.en.softonic.com/注:新版本和老版本的区别比较大,有......