1、在mysql环境,创建数据库表,
创新互联主营焦作网站建设的网络公司,主营网站建设方案,成都App定制开发,焦作h5微信小程序开发搭建,焦作网站营销推广欢迎焦作等地区企业咨询
create table test_data1(id int, name VARCHAR(20), day VARCHAR(20))
2、插入测试数据,
insert into test_data1 values(1,'liu',1);
insert into test_data1 values(2,'liu',3);
insert into test_data1 values(3,'wang',1);
insert into test_data1 values(4,'wang',2);
insert into test_data1 values(4,'wang',4);
3、查询表中数据,select * from test_data1;
4、编写目标sql;
select name,
max(case when day=1 then 1 end) d_1,
max(case when day=2 then 2 end) d_2,
max(case when day=3 then 3 end) d_3,
max(case when day=4 then 4 end) d_4
from test_data1 t group by name
这叫交叉查询,语句这么写:
TRANSFORM StDev(表.字段名) AS 字段名之值
SELECT 表.字段名, StDev(表.字段名) AS [计数]
FROM 表
GROUP BY 表.行标题字段
PIVOT 表.列标题字段;
一定要主要的是:要有行标题、列标题、值三个主要字段
第二列数据类型是字符串才可以,数字是不能concat:
select group_concat (name),group_concat(value) from tablename