日期:2014-05-18  浏览次数:20516 次

求高手解答。分组查询。
select 地区ID, sum(金额) as 用户在地区消费总额 from dbo.用户消费表
where 用户ID=1 
group by 地区ID

select 厂商ID, sum(金额) as 用户在厂商消费总额 from dbo.用户消费表
where 用户ID=1 
group by 厂商ID

select 项目ID,sum(金额) as 用户在项目消费总额 from dbo.用户消费表
where 用户ID=1 
group by 项目ID

怎么把这三个SQL语句合为一句,这是消费流水表,数据量有点多,希望语句上考虑下性能问题。

用户消费表(存放用户每次消费记录):字段如下:
标识ID
消费金额
地区ID
厂商ID
项目ID
用户ID
创建时间



------解决方案--------------------
你这是两种不同的东西,合在一起算什么呢?
------解决方案--------------------
三种不同的东西.
------解决方案--------------------
select 地区ID, sum(金额) as 用户在地区消费总额 from dbo.用户消费表
where 用户ID=1
group by 地区ID
union all
select 厂商ID, sum(金额) as 用户在厂商消费总额 from dbo.用户消费表
where 用户ID=1
group by 厂商ID
union all
select 项目ID,sum(金额) as 用户在项目消费总额 from dbo.用户消费表
where 用户ID=1
group by 项目ID
------解决方案--------------------
lz把希望要点结果,描述清楚一点儿