㈠ 如何用sql语句统计总金额和区段金额
select合同ID,SUM(收费金额)as总金额,(selectsum(收费金额)from收费whereDATEPART(yy,收费时间)=2013anda.合同ID=收费.合同ID)as年度金额
from收费asagroupby合同ID
㈡ 跪求sql如何实现总数的统计,例如某一个收费员一个月收的总户数总钱数胡乱找个例子做多谢!!!
--计算收费员当月的总数
select 收费员,sum(钱) as 总数
from 收费表
where convert(varchar(10),收费日期,121)=convert(varchar(10),getdata(),121)
group by 收费员
㈢ SQL语句统计每天、每月、每年的销售总额
一、SQL语句统计每年的销售总额
select year(ordertime) 年,
sum(Total) 销售合计
from 订单表
group by year(ordertime)
二、SQL语句统计每月的销售总额
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime
三、SQL语句统计每日的销售总额
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime),
day(ordertime)
(3)sql查询一月份账号的总金额扩展阅读
mysql查询每天、每周、每月的数据方法
一、查询每天的数据
SELECT
COUNT(1) AS countNumber,
DATE_FORMAT(createTime,'%Y-%m-%d') AS dateTime
FROM
testTable
GROUP BY DATE_FORMAT(createTime,'%Y-%m-%d')
二、查询每周的数据
SELECT
COUNT(1) AS countNumber,
WEEK(createTime) as dateTime
FROM
testTable
GROUP BY WEEK(createTime)
三、查询每月的数据:
SELECT
COUNT(1) AS countNumber,
MONTH(createTime) as dateTime
FROM
testTable
GROUP BY MONTH(createTime)
㈣ 如何用sql统计总金额
1、如果你是要统计当日销售总金额,如下:
select
sum(piece*price)
as
'当日销售总额'
from
当日销售表
where
date='07/5/16'
2、如果你是要统计各商品当日的销售额,如下:
select
rq,sno,sname,sum(piece)
as
piece,sum(piece*price)
as
'销售额'
from
当日销售表
group
by
rq,sno,sname
㈤ sql语句查询今年单价总金额
年,季,月,周,天,小时
也就是说你要的是这个六个分别的金额与汇总。
按照从大到小,如果仅仅是按照现有的表来操作,那么个人觉得毫无疑问的要查6遍,每次汇总都是一遍,如果数据量大的话毫无疑问的卡死。
个人觉得可以先改造一下表,将时间字段分成这六个部分,然后分组的时候加上rollup,只要注意书写顺序,那么一次应该就可以了。这是我能想到的减小运算量的一个办法。
㈥ 能否用一句SQL同时查询本日和本月金额总值
本月的直接加,本日的用case when来加,脚本实例如下,以oracle为例:
selectsum(金额)本月的金额总数,
sum(casewhen日期字段>=trunc(sysdate)then金额else0end)今日的金额总数
from表名
where日期字段>=trunc(sysdate,'mm')
在sqlserver中case when 语法与上面一致:
selectsum(金额)本月的金额总数,
sum(casewhen日期字段>=cast(convert(varchar,getdate(),112)assmalldatetime)then金额else0end)今日的金额总数
from表名
where日期字段>=cast(convert(varchar(6),getdate(),112)+'01'assmalldatetime)
㈦ 求助——SQL语句,目前已知每个id每月的交易额,怎么查询每个月每个id近半年的交易总额
关联取月份最近6个月的数据,按id,月份分组汇总交易额就可以了
跟1一样,就是按交易总额排序取前100
1.
select ao.id,ao.state_date,sum(ao.amount) amount from tab_order ao
left join tab_order so on so.id = ao.id and so.state_date between ao.state_date-5 and ao.state_date
group by ao.id,ao.state_date
2.
select * from
(select ao.id,ao.state_date,sum(ao.amount) amount from tab_order ao
left join tab_order so on so.id = ao.id and so.state_date between ao.state_date-3 and ao.state_date
group by ao.id,ao.state_date
order by amount desc
) limit 100