原文来自: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进行处理,非常感谢!