sql按月统计
A. sql按月统计,按日分组
declare @yf int
declare @rqxx varchar (30)
declare @rqsx varchar (30)
set @yf = '' --输入月份
set @rqxx =convert(varchar(30),@yf-1)+'月'+'26日'+'14:30:00'
set @rqxx =convert(varchar(30),@yf)+'月'+'25日'+'14:30:00'
select sum(交易量) from a where 交易时间 between @rqxx and @rqsx
这个只是个思路
上面我把@rqxx,@rqsx 定义为 varchar 你在具体定义时 要和a中交易时间一致,时间格式也要改 而且这个月份只能实现 2月--12月查询 有需要的话自己改下
B. SQL璇鍙ャ傛湁涓鍫嗘暟鎹鍑犱竾𨱒°傛椂闂磋寖锲2010-05-01鍒颁粖澶┿傜幇鍦ㄨ佺粺璁″嚭姣忓ぉ锛屾疮涓链堟湁澶氩皯𨱒℃暟鎹璺熴
姣忓ぉ
select count(1),to_char(StartTime,'yyyy-mm-dd') from tablename where UrlTarget like '%Agent%' and to_char(StartTime,'yyyy-mm-dd') >='2010-05-01' group by to_char(StartTime,'yyyy-mm-dd') order by to_char(StartTime,'yyyy-mm-dd') ;
姣忔湀
select count(1),to_char(StartTime,'mm') from tablename where UrlTarget like '%Agent%' and to_char(StartTime,'yyyy-mm-dd') >='2010-05-01' group by to_char(StartTime,'mm') order by to_char(StartTime,'mm') ;
C. sql多表联合按月统计全年的数据,该怎么处理
具体的语句跟数据结构和统计要求有关,请祥竖扒参考下谨昌列SQL语句
假设有数据表
产量1(id,日期,产量)
产量2(id,日期,产量)
汇总纤伍出两张表2017年每月的总产量
selectmonth(t.日期)as月份,sum(t.产量)as月产量
from(select日期,产量from产量1where日期
between'2017-01-01'and'2017-12-31'unionall
select日期,产量from产量2where日期
between'2017-01-01'and'2017-12-31')t
groupbymonth(t.日期);
D. sql 鍒嗙被鎸夋湀缁熻
鏂规硶涓锛氲繖绉嶆柟娉曞垪钖嶆槸锲哄畾镄勚
select 钖岖О,
sum(case when substring(convert(varchar(7),镞ユ湡,120),6,2)='09' then 鍑哄敭鏁伴噺 else 0 end) as '9链',
sum(case when substring(convert(varchar(7),镞ユ湡,120),6,2)='10' then 鍑哄敭鏁伴噺 else 0 end) as '10链'
from 琛
group by 钖岖О
鏂规硶浜岋细杩欑嶆柟娉曡槠铹堕夯鐑︿竴浜涳纴浣嗘槸鏀鎸佸垪钖崭笉纭瀹氱殑𨱍呭喌銆
declare @sql varchar(2000)
declare @mon varchar(2)
set @sql = 'select 钖岖О'
select @sql = @sql + ',sum(case mon when '''+mon+''' then 鍑哄敭鏁伴噺 end) ['+mon+'链圿'
from (select distinct substring(convert(varchar(7),镞ユ湡,120),6,2) mon from 琛) as a
select @sql = @sql+' from 琛 group by 钖岖О'
exec(@sql)