有这样一个表:sql语句该如何写 ? 高人来解决统计问题 select 帐号, 类型,编号,sum(数量), 保存日期 from table group by 帐号, 类型,编号,保存日期 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select 账号,类型,编号,sum(数量),max(保存日期)from 表group by 账号,类型,编号 select 帐号, 类型,编号,sum(数量), left(保存日期,6) from table group by 帐号, 类型,编号,left(保存日期,6) group by 保存日期 ??有问题 right(left(doctime, 10),4)+'-'+ left(doctime, 2) as doctime zosky(欢迎使用银行卡) bdhh(Silent) 我要的是按月份的, 每个月的 “ 类型+编号 ” 不能重复 select 账号,类型,编号,数量,str(datepart(year,保存日期))+str(datepart(month,保存日期))from 表 SELECT 帐号, 类型, 编号, SUM(数量), CONVERT(varchar(7), 保存日期, 120)FROM 表GROUP BY 帐号, 类型, 编号, CONVERT(varchar(7), 保存日期, 120) SELECT 帐号,类型,编号,SUM(数量) 数量, CONVERT(NVARCHAR(7),保存日期, 120) 保存日期FROM 表 GROUP BY 帐号,类型,编号,CONVERT(NVARCHAR(7), 保存日期, 120) select 帐号,类型,编号,数量=sum(数量),保存日期=convert(varchar(7),保存日期,120)from 表group by 帐号,类型,编号,convert(varchar(7),保存日期,120) http://expert.csdn.net/Expert/topic/2267/2267225.xml?temp=.5431177 SELECT 帐号,类型,编号,SUM(数量) as 数量, CONVERT(NVARCHAR(7),保存日期, 120) as 保存日期FROM 表 GROUP BY 帐号,类型,编号,CONVERT(NVARCHAR(7), 保存日期, 120) create table #a(帐号 int,类型 int, 编号 int, 数量 int, 保存日期 datetime)insert #a values( 100 , 1 ,1, 900 ,'2003-8-16')insert #a values( 100 , 1 , 2 , 700 ,'2003-9-14')insert #a values( 100 , 2 , 1 , 800 ,'2003-9-16')insert #a values( 100 , 1 , 2 , 300 , '2003-9-11')insert #a values( 100 , 2 , 1 , 500 , '2003-8-12')insert #a values( 100 , 2, 2 , 699 , '2003-9-15')select 帐号,类型,编号,sum(数量) 数量,dateadd(day,-day(保存日期)+1,保存日期) 保存日期 from #a group by 帐号,类型,编号,dateadd(day,-day(保存日期)+1,保存日期) order by 帐号,dateadd(day,-day(保存日期)+1,保存日期),类型,编号godrop table #a------------------------------------------------------------------------帐号 类型 编号 数量 保存日期 ----------- ----------- ----------- ----------- ------------------------------------------------------ 100 1 1 900 2003-08-01 00:00:00.000100 2 1 500 2003-08-01 00:00:00.000100 1 2 1000 2003-09-01 00:00:00.000100 2 1 800 2003-09-01 00:00:00.000100 2 2 699 2003-09-01 00:00:00.000(所影响的行数为 5 行) select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1select convert(char(8),getdate(),112) ----20020101select convert(char(8),getdate(),108) ---06:05:05select year(getdate()) --年select month(getdate()) --月select day(getdate()) --日 select 帐号,类型,编号,数量=sum(数量),保存日期=convert(varchar(7),保存日期,120 ) from #a group by 帐号,类型,编号,convert(varchar(7),保存日期,120 ) 100 1 1 900 2003-08100 1 2 1000 2003-09100 2 1 500 2003-08100 2 1 800 2003-09100 2 2 699 2003-09 create table #a(帐号 int,类型 int, 编号 int, 数量 int, 保存日期 datetime)insert #a values( 100 , 1 ,1, 900 ,'2003-8-16')insert #a values( 100 , 1 , 2 , 700 ,'2003-9-14')insert #a values( 100 , 2 , 1 , 800 ,'2003-9-16')insert #a values( 100 , 1 , 2 , 300 , '2003-9-11')insert #a values( 100 , 2 , 1 , 500 , '2003-8-12')insert #a values( 100 , 2, 2 , 699 , '2003-9-15')SELECT 帐号, 类型,编号,sum(数量), CONVERT(varchar(7), 保存日期, 120)+'-1' AS DateSelect FROM #AGROUP BY 帐号, 类型,编号, CONVERT(varchar(7), 保存日期, 120) +'-1'drop table #a 升级后的问题 如何生成代唯一序列号的列?sql server 2000 创建SQL登录帐号却不能进行登录???? 存储过程时间参数问题 求一随机字符串更新字段的SQL语句 sql2005 正在恢复 急... 我在中文winxp下为什么安装不上English Query 为什么现在我的登录账号没有管理权限了? VFP6.0中,如何防止程序由于过长的循环时间而导致阻塞? VFP6.0 中如何将编译成的可执行程序的图标换成自己的? VB、ACCESS、SQL、VFP之间的区别??? 有没有这么一条语句
from 表
group by 账号,类型,编号
group by 帐号, 类型,编号,left(保存日期,6)
有问题
from 表
FROM 表
GROUP BY 帐号, 类型, 编号, CONVERT(varchar(7), 保存日期, 120)
CONVERT(NVARCHAR(7),保存日期, 120) 保存日期
FROM 表 GROUP BY 帐号,类型,编号,CONVERT(NVARCHAR(7), 保存日期, 120)
from 表
group by 帐号,类型,编号,convert(varchar(7),保存日期,120)
CONVERT(NVARCHAR(7),保存日期, 120) as 保存日期
FROM 表 GROUP BY 帐号,类型,编号,CONVERT(NVARCHAR(7), 保存日期, 120)
insert #a values( 100 , 1 ,1, 900 ,'2003-8-16')
insert #a values( 100 , 1 , 2 , 700 ,'2003-9-14')
insert #a values( 100 , 2 , 1 , 800 ,'2003-9-16')
insert #a values( 100 , 1 , 2 , 300 , '2003-9-11')
insert #a values( 100 , 2 , 1 , 500 , '2003-8-12')
insert #a values( 100 , 2, 2 , 699 , '2003-9-15')
select 帐号,类型,编号,sum(数量) 数量,dateadd(day,-day(保存日期)+1,保存日期) 保存日期 from #a group by 帐号,类型,编号,dateadd(day,-day(保存日期)+1,保存日期) order by 帐号,dateadd(day,-day(保存日期)+1,保存日期),类型,编号go
drop table #a------------------------------------------------------------------------帐号 类型 编号 数量 保存日期
----------- ----------- ----------- ----------- ------------------------------------------------------
100 1 1 900 2003-08-01 00:00:00.000
100 2 1 500 2003-08-01 00:00:00.000
100 1 2 1000 2003-09-01 00:00:00.000
100 2 1 800 2003-09-01 00:00:00.000
100 2 2 699 2003-09-01 00:00:00.000(所影响的行数为 5 行)
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05select year(getdate()) --年
select month(getdate()) --月
select day(getdate()) --日
100 1 2 1000 2003-09
100 2 1 500 2003-08
100 2 1 800 2003-09
100 2 2 699 2003-09
insert #a values( 100 , 1 ,1, 900 ,'2003-8-16')
insert #a values( 100 , 1 , 2 , 700 ,'2003-9-14')
insert #a values( 100 , 2 , 1 , 800 ,'2003-9-16')
insert #a values( 100 , 1 , 2 , 300 , '2003-9-11')
insert #a values( 100 , 2 , 1 , 500 , '2003-8-12')
insert #a values( 100 , 2, 2 , 699 , '2003-9-15')SELECT 帐号, 类型,编号,sum(数量),
CONVERT(varchar(7), 保存日期, 120)+'-1' AS DateSelect
FROM #A
GROUP BY 帐号, 类型,编号, CONVERT(varchar(7), 保存日期, 120) +'-1'
drop table #a