⑴ sql如何按年份月份统计
select
left(convert(varchar(10),[datetime],120),7)
as
月份,sum(Amount)
as
总数
from
表
where
[datetime]<='你输入的时间条件'
group
by
left(convert(varchar(10),[datetime],120),7)
根据你的数据结果格式重新修改了下:
select
cast(datepart(year,[datetime])
as
varchar)+'年'+cast(datepart(month,[datetime])
as
varchar)+'月'
as
月份,sum(Amount)
as
总数
from
表
where
[datetime]<='你输入的时间条件'
and
datepart(year,[datetime])=left('你输入的时间条件',4)
group
by
cast(datepart(year,[datetime])
as
varchar)+'年'+cast(datepart(month,[datetime])
as
varchar)+'月'
⑵ sql数据库,在下面两个表中,如何分别统计每个部门上半年请假的次数员工号=编号,在线等
你这个很简单,就和统计每个部门有好多人类似
select deptno,count(*) from emp group by deptno;
⑶ 关于SQL语句中半年的查询
where month(pubdate)>= month('2007-01-01')
and
month(pubdate) <= month('2007-06-31')
⑷ sql函数计算半年后的日期
楼主好,SQL中算日期有函数,直接可以算的。使用DATEADD函数即可达到目的。如例子中你说的要存三个月,那么获得三个月后的日期的写法为:dateadd(month,3,'2011-07-15')。同样,这个函数也可以算天,小时,周,季度,年,毫秒等等,此函数是算距离一个时间多少时间后是什么时间,参数第一个是要计算的时间类型,第二个为间隔的数量(为正即向后,为负则向前推算),第三个为计算的开始时间
⑸ 用sql一句怎么实现月统计和年统计
这是挑战中文理解能力么……OTL
⑹ sql函数计算半年后的日期
查询半年内工作的员工,半年按6个月算,每个月按平均30天算,也就是当前日期减去180天;
Oracle 里的SQL如下:
⑺ 怎么用sql语句返回近一年中每月的数据统计
SELECT date_format(crtime,'%Y-%m') as qq ,
sum(order_log.quan * mers.price) as profit,
count(orderid) as Quant
FROM order_log
left outer join mers
on order_log.tb_id = mers.tb_id
group by qq
举例中 我是两张表,一张表是销售记录order_log
另一张表是 商品价格mers
所以用了联合查询,如果你是同一张表就更简单了 不用联合查询
⑻ sql问题统计将要到期(6个月)商品。请求达人帮忙20分
楼主没有详细的说明 使用的是什么数据库.
那我只有慢慢解释了:
第一步,首先要把那个 字符类型的数据, 转换为日期类型:
Oracle 使用
TO_DATE(YXQX, 'YYYYMMDD')
SQL SERVER 使用
CONVERT(datetime, YXQX, 112)
MYSQL 使用
STR_TO_DATE(YXQX, '%Y%m%d')
第二步,如何表示出半年内将要到期的商品。
也就是 这个 转换后的日期, 要大于今天, 小于半年后
需要使用2个函数, 一个是今天, 一个是 半年后(也就是 6个月以后)
今天的函数:
Oracle 使用
SYSDATE
SQL Server 使用
GETDATE()
MySQL 使用
CURRENT_DATE()
今天+6个月的 操作
Oracle 使用
ADD_MONTHS(sysdate, 6)
SQL Server 使用
DATEADD(mm, 6, GETDATE() )
MySQL 使用
DATE_ADD( CURRENT_DATE(), INTERVAL 6 MONTH)
最后的写法就是:
Oracle:
TO_DATE(YXQX, 'YYYYMMDD') > SYSDATE
AND TO_DATE(YXQX, 'YYYYMMDD') < ADD_MONTHS(sysdate, 6)
SQL SERVER
CONVERT(datetime, YXQX, 112) > GETDATE()
AND CONVERT(datetime, YXQX, 112) < DATEADD(mm, 6, GETDATE() )
MYSQL
STR_TO_DATE(YXQX, '%Y%m%d') > CURRENT_DATE()
AND STR_TO_DATE(YXQX, '%Y%m%d') < DATE_ADD( CURRENT_DATE(), INTERVAL 6 MONTH)
⑼ SQL如何按年份月份统计
select left(convert(varchar(10),[datetime],120),7) as 月份,sum(Amount) as 总数
from 表
where [datetime]<='你输入的时间条件'
group by left(convert(varchar(10),[datetime],120),7)
根据你的数据结果格式重新修改了下:
select cast(datepart(year,[datetime]) as varchar)+'年'+cast(datepart(month,[datetime]) as varchar)+'月' as 月份,sum(Amount) as 总数
from 表
where [datetime]<='你输入的时间条件' and datepart(year,[datetime])=left('你输入的时间条件',4)
group by cast(datepart(year,[datetime]) as varchar)+'年'+cast(datepart(month,[datetime]) as varchar)+'月'
⑽ SQL 如何做季度数据统计
3.按季度分组
select to_char(exportDate,'yyyy-Q'),sum(amount) from table1 group by to_char(exportDate,'yyyy-Q')
order by to_char(exportDate,'yyyy-Q');
试试这个吧