mysql查询结果两列_[数据库] SQL查询语句表行列转换及一行数据转换成两列

原文来自:http://blog.csdn.net/Eastmount/article/details/50559008

1.创建数据库表及插入数据

2.子查询统计不同性质的学生总数

3.一行数据转换成两列数据 union all

4.表行列数据转换(表转置)

1.创建数据库表及插入数据

创建数据库、创建学生表并设置主键、插入数据代码如下:

–创建数据库

create database StudentMS

–使用数据库

use StudentMS

–创建学生表 (属性:姓名、学 (pk)、学院、出生日期、性别、籍贯)

create table xs

(

name varchar(10) not null,

id varchar(10) not null,

xy varchar(10),

birthday datetime,

xb char(2),

jg varchar(8)

)

–创建学生表主键:学

alter table xs

add constraint

pk_xs primary key(id)

–插入数据

insert into xs

(id, name, xb, birthday, xy, jg)

values(‘1160001’, ‘刘备’, ‘男’, ‘1991-11-5’, ‘软件学院’, ‘河北省’);

输出数据如下图所示:

PS:若中文汉字太长 错,则需引用双引 。如:select num as “项目(文化学术讲座)”

3.一行数据转换成两列数据

这时,项目SQL语句的需要是显示成两列如下图所示:

4.表行列数据转换(表转置)

SQL语句如下,其中sum(decode(t.result,’胜’,1,0))表示result字段如果值为“胜”,则decode的结果值为1,否则取缺省值0,最后sum统计加和。

select

name as 姓名,sum(decode(t.result,’胜’,1,0)) as 胜,sum(decode(t.result,’负’,1,0)) as 负

from t_result t

group by name

order by 胜 desc,负 asc

最后希望文章对你有所帮助,其实SQL语句中还是有很多非常高深的变化,目前只窥得一二啊!fighting…O(∩_∩)O

(By:Eastmount 2016-01-22 深夜5点   http://blog.csdn.net//eastmount/ )

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树SQL高级技巧透视表 31861 人正在系统学习中 相关资源:圣诞贺卡制作软件(ChristmasCard)v2014.2.0绿色版-其它代码类资源…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月22日
下一篇 2021年1月22日

相关推荐