数据表结构:区域---------时段---------平均值
上海---------上午---------11.11
广州---------上午---------12.11
上海---------下午---------13.11
广州---------下午---------14.11需要得到结果为:
区域---------上午---------下午
上海---------11.11--------13.11
广州---------12.11--------14.11谢谢
上海---------上午---------11.11
广州---------上午---------12.11
上海---------下午---------13.11
广州---------下午---------14.11需要得到结果为:
区域---------上午---------下午
上海---------11.11--------13.11
广州---------12.11--------14.11谢谢
sumif(if(时段='上午'),平均值,0) as 上午,
sumif(if(时段='下午'),平均值,0) as 下午
from 数据表结构
group by 区域
CREATE TABLE t_user_detail (
detail_id INT NOT NULL COMMENT '明细id',
ddatetime VARCHAR(10) COMMENT '日期',
time_interval SMALLINT COMMENT '时段(1:上午;2:下午;3:上半夜;4:下半夜;)',
scope VARCHAR(50) COMMENT '区域',
person_time INT COMMENT '人次',
people_number INT COMMENT '人数',
avg_number NUMERIC(18,2) COMMENT '平均人数',
Than_stay NUMERIC(18,2) COMMENT '驻留比',
CONSTRAINT PK_T_user_detail PRIMARY KEY (detail_id)
);查询结果(各个区域在各个时段的平均人数)应该是:
-------------------------------------------
区域 上午 下午 上半夜 下半夜等待大家的回复,谢谢!!!
SELECT scope,
sumif(IF(time_interval='上午'),avg_number,0) AS 上午,
sumif(IF(time_interval='下午'),avg_number,0) AS 下午
FROM t_user_detail
GROUP BY scope;控制台信息:
Query : select scope, sumif(if(time_interval='上午'),avg_number,0) as 上午, sumif(if(time_interval='下午'),avg_number,0) a...Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '),avg_number,0) as 上午,
sumif(if(time_interval='下午'),avg_number,0) as' at line 2Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
---------------------------------------------------
刚才贴错了,sql语句我是这样:SELECT scope,
sumif(IF(time_interval=1),avg_number,0) AS 上午,
sumif(IF(time_interval=2),avg_number,0) AS 下午
FROM t_user_detail
GROUP BY scope;
sumif(if(时段='上午',平均值,0—)) as 上午,
sumif(if(时段='下午',平均值,0)) as 下午
from 数据表结构
group by 区域