获取当前日期周数
C#:int str = new System.Globalization.GregorianCalendar().GetWeekOfYear(System.DateTime.Now, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
根据周得到起始日期和截止日期
public static string GetWeekSpan(out DateTime dtBeginDate, out DateTime dtEndDate, int iWeeks){
int iCurrentYear = DateTime.Now.Year;
DateTime dtFirstDate = new DateTime(iCurrentYear, 1, 1);
int iDays = (iWeeks - 1) * 7;
dtFirstDate = dtFirstDate.AddDays(iDays);
int iDaysOfWeek = (int)dtFirstDate.DayOfWeek;
dtBeginDate = dtFirstDate.AddDays(-(iDaysOfWeek - 1) - 1);
dtEndDate = dtFirstDate.AddDays(7 - iDaysOfWeek - 1);
return dtBeginDate.ToString("MM-dd") + "/" + dtEndDate.ToString("MM-dd");
}
年统计:
select year(orderdate) as orderyear,sum(ordermoney) ordermoney,COUNT(orderdate) as dealcount,cast(SUM(ordermoney)/COUNT(orderdate) as numeric(9,0)) as single from zx_order where orderstate in(2,3,4,9) group by year(orderdate) order by orderyear desc
月统计:
select month(orderdate) as ordermonth,SUM(ordermoney) AS ordermoney,COUNT(orderdate) as dealcount, cast(SUM(ordermoney)/COUNT(orderdate) as numeric(9,0)) as single FROM zx_order WHERE year(orderdate)=year(getdate()) and orderstate in(2,3,4,9) GROUP BY month(orderdate) order by month(orderdate) desc
周统计:
select sum(ordermoney) as ordermoney,datename(week,orderdate) as orderweek ,COUNT(orderdate) as dealcount,
cast(SUM(ordermoney)/COUNT(orderdate) as numeric(9,0)) as single from zx_order where
year(orderdate)=year(getdate()) and month(orderdate) = month(getdate()) and orderstate in(2,3,4,9) group by datename(week,orderdate)
日统计:
select orderdate=convert(char(10), orderdate, 120), ordermoney=sum(ordermoney),COUNT(orderdate) as dealcount,cast(SUM(ordermoney)/COUNT(orderdate) as numeric(9,0)) as single from zx_order where year(orderdate)=year(getdate()) and month(orderdate)=month(getdate()) and orderstate in(2,3,4,9) group by convert(char(10), orderdate, 120) order by orderdate asc