日期:2014-05-19  浏览次数:20528 次

急!!急求一SQL语句写法
有一销售表,有销售日期、销售金额,每天有多条销售记录,现在查看2005年销售金额最多的10天的日期及销售金额。请各位指教,先谢谢啦!

------解决方案--------------------
--试试
select top 10 销售日期,sum(销售金额) as 销售金额
from t
group by 销售日期
order by sum(销售金额) desc
------解决方案--------------------
1.生成日期临时表
select top 10 销售日期 into #tmp from t
group by 销售日期
order by sum(销售金额) desc

2.用这个日期临时表进行左连接
select a.*,b.* from #tmp a left join t b on (a.销售日期=b.销售日期)

注:这样得到的结果是明细,而不是日合计,如想得到日合计,楼上方法可以
------解决方案--------------------
这样既可
select top 10 销售日期,sum(销售金额) as 销售金额
from [table]
where datepart(yy,销售日期)= '2005 '
group by 销售日期
order by sum(销售金额) desc
------解决方案--------------------
有一销售表,有销售日期、销售金额,每天有多条销售记录,现在查看2005年销售金额最多的10天的日期及销售金额。

select top 10 * from
(
select 销售日期,sum(销售金额) as 销售金额 from 销售表 group by 销售日期 order by 销售金额 desc
) t
------解决方案--------------------
select top 10 销售日期,sum(销售金额) 销售金额
from tb
where year(销售日期)= '2005 '
group by 销售日期
order by 销售金额 desc