问题
问答题
某SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。 CREATE PROC p_Sum@year INT AS SELECT (1) WITH TIRS 商品类别,SUM(销售数量)As销售总数量, (2) AS销售总利润 FROM商品表JOIN销售表ON商品表.商品号=销售表.商品号 WHERE year(销售时间)=@year GROUP BY商品类别 ORI)ER BY销售总利润(3)
答案
参考答案:
[1]TOP 3
[2]SUM((销售单价-成本价)*销售数量)
[3]DESC
解析:
查询前n条记录可以用TOP n,销售总利润等于每类商品销售单价与成本价的差额与销售数量的乘积的累加和,需要用SUM函数。查询最多的前几条记录,所以应该按销售总利润降序(DESC)排列。