mysql 将列值转变为列的方法
应同学的要求,让我们将列值转变为列,以展示更为直观的数据信息。在这个场景中,我们有一个名为 `rate` 的表,其中包含学生的姓名(`uname`)、科目(`object`)和对应的分数(`score`)。我们的目标是将每个学生的不同科目的分数汇总到各自的列中,以便更清晰地查看。以下是实现这一目标的 SQL 语句。
```sql
-- 创建库
CREATE TABLE `rate` (
`uname` VARCHAR(300), -- 学生姓名
`object` VARCHAR(300), -- 科目名称
`score` VARCHAR(300) -- 对应分数
);
INSERT INTO rate (uname, object, score)
VALUES
('aaa', 'chinese', '67'),
('aaa', 'math', '89'),
('aaa', 'physical', '89'),
('bbb', 'chinese', '67'),
('bbb', 'math', '75'),
('bbb', 'physical', '89');
```
接下来,我们通过一个查询语句将列值转变为列:
```sql
-- 查询语句,将列值转变为列
SELECT
uname AS '姓名',
SUM(CASE WHEN object = 'chinese' THEN score ELSE NULL END) AS '语文',
SUM(CASE WHEN object = 'math' THEN score ELSE NULL END) AS '数学',
SUM(CASE WHEN object = 'physical' THEN score ELSE NULL END) AS '物理'
FROM rate
GROUP BY uname;
```
seo推广
- 2014年Godaddy帐号注册教程、Push接收、解析、DNS修
- Win10开启旧版托盘时钟让其符合以往的习惯
- 湖南3家微信公众账号传播恶性谣言被关停
- 想使用PE里没有的程序如何把程序打包进WinPE中
- win10预览版10041官方下载地址 win10预览版10041下载
- 本本加内存后为何还变慢了?
- Ecshop后台拿shell方法总结
- AI简单绘制超美的渐变试管图片教程
- Dreamweaver CS6怎么使用项目列表-
- 夜班配置 夜班最低配置及要求
- 客户端安装过程中提示RegCreateKeyEx失败.错误码5
- WinCfg32.exe - WinCfg32是什么进程
- VC7SecS.exe是什么进程.有什么用
- css3 条纹化和透明化表格Firefox下测试成功
- MirOS BSD Korn Shell本地权限提升漏洞
- 上网本在播放视频时,音频出现停顿现象是什么原