sql合并分组
A. 各位大神,急求一条ACCESS的sql分组合并排序语句
怎么解决的啊
B. SQL 分组统计,再合并组
select
ta.deptname,
count(ta.deptname)
as
personcount,
sum(ta.status1)
as
status1,
sum(ta.status2)
as
status2,
sum(ta.status3)
as
status3,
sum(ta.status4)
as
status4
from
(select
deptname,
case
status
when
'状态1'
then
1
else
0
end
as
status1,
case
status
when
'状态2'
then
1
else
0
end
as
status2,
case
status
when
'状态3'
then
1
else
0
end
as
status3,
case
status
when
'状态4'
then
1
else
0
end
as
status4
from
tablename
where
datepart(y,
date)=2011
and
datepart(m,
date)=1)
ta
group
by
ta.deptname
月份需要加上年份一起判断,
合计不能从这条语句中得到,可以通过另外一条语句或者通过程序中对数据分析得到,不知道你前台用什么开发的,是不是有控件可以直接生成.
select
count(*)
as
recordcount,
sum(tb.status1)
as
status1,
sum(tb.status2)
as
status2,
sum(tb.status3)
as
status3,
sum(tb.status4)
as
status4
from
(select
ta.deptname,
count(ta.deptname)
as
personcount,
sum(ta.status1)
as
status1,
sum(ta.status2)
as
status2,
sum(ta.status3)
as
status3,
sum(ta.status4)
as
status4
from
(select
deptname,
case
status
when
'状态1'
then
1
else
0
end
as
status1,
case
status
when
'状态2'
then
1
else
0
end
as
status2,
case
status
when
'状态3'
then
1
else
0
end
as
status3,
case
status
when
'状态4'
then
1
else
0
end
as
status4
from
tablename
where
datepart(y,
date)=2011
and
datepart(m,
date)=1)
ta
group
by
ta.deptname)
tb
这条语句可以得到合计值
C. sql 分组后怎么把结果合并到一个类别下啊
--如果商品和类别在同一个表
--建表
CreateTableT
(
商品Varchar(10),
类别Varchar(10),
数量Int
)
--插入数据
InsertIntoTValues('苹果','水果',10)
InsertIntoTValues('葡萄','水果',20)
InsertIntoTValues('西红柿','蔬菜',30)
--方法一,按商品类别分类求和,加withcube选项
SelectISNULL(商品,'分类-'+类别)As商品,数量
From(
Select商品,类别,SUM(数量)As数量FromT
GroupBy商品,类别
WithCube
)S
Where类别IsNotNull
--方法二,按商品和类别分别汇总后合拼在一起,然后排序
Select商品,数量
From(
Select商品,Max(类别)As类别,SUM(数量)As数量FromT
GroupBy商品
UnionAll
Select'分类-'+类别,类别+'Z',SUM(数量)As数量FromT
GroupBy类别
)S
OrderBy类别
--如果没有类别,需要先建一个对照表
--建表
CreateTableM
(
商品Varchar(10),
类别Varchar(10)
)
CreateTableN
(
商品Varchar(10),
数量Int
)
--插入数据
InsertIntoMValues('苹果','水果')
InsertIntoMValues('葡萄','水果')
InsertIntoMValues('西红柿','蔬菜')
InsertIntoNValues('苹果',10)
InsertIntoNValues('葡萄',20)
InsertIntoNValues('西红柿',30)
InsertIntoNValues('苹果',15)
--查询
SelectIsNull(商品,'分类-'+类别)As商品,数量
From(
Selectn.商品,类别,SUM(数量)As数量FromnLeftJoinm
onm.商品=n.商品
GroupByn.商品,类别
WithCube
)s
Where类别isnotnull
D. 请教sql 可以分组后数据合并吗
select
[name]
strValue=(select[value]+','from表名bwherea.[name]=b.[name]forxmlpath(''))
from
表名a
groupby
[name]
E. sql分组查询后合并符合条件的数据
可以把源表中为null 和‘’的先update一下,src都统一设置成‘’,如果是group by 以后合并,由于src不同,没法合并吧。因为要考虑合并后src的值
F. sql 分组合并
你大概是这个意思:
selectcompanyname,sum(dtlcost+totalpackqty+boxqty)fromBms_transcontrol_dtl_vgroupbycompanyname
G. sql group by 之后 如何合并分组的文本
db2 / oracle /sql server 2005以上,可以这样做
SELECT 姓名,
MAX(CASE RK WHEN 1 THEN 内容 ELSE '' END)
||MAX(CASE RK WHEN 2 THEN 内容 ELSE '' END)
||MAX(CASE RK WHEN 3 THEN 内容 ELSE '' END)
||MAX(CASE RK WHEN 4 THEN 内容 ELSE '' END)
FROM (SELECT 姓名, 内容,
ROW_NUMBER() OVER(PARTITION BY 姓名 ORDER BY 内容) rk FROM tab) t
GROUP BY 姓名