刚自学数据库,只会简单的几种语句。今天老师给了个题目,挺难的。请教。为输入方便,我只用汉字介绍下题目。
      一数据表,记录某类蔬菜每日的价格。      有如下几个字段:蔬菜编码   蔬菜名    价格   日期(格式:1988/08/21)      
      题目要求,请统计出,某蔬菜品种,在每年的7、8月份的平均价格,并按年份由远到近显示出来。 
             坦白说,之前学数据库原理,本来以为数据库就那么几条基本语句,不停组合实现复杂功能,应该不太难。可这道题我突然就不会了。也许是许多细节记得不清楚了。       
       

解决方案 »

  1.   


    select 
    蔬菜编码,蔬菜名,avg(价格) as 平均价格,convert(varchar(7),日期,120) as 日期
    from tbl
    where month(日期) in(7,8)
    group by
    蔬菜编码,蔬菜名,convert(varchar(7),日期,120) 
      

  2.   

      有如下几个字段:蔬菜编码 蔬菜名 价格 日期(格式:1988/08/21)
      题目要求,请统计出,某蔬菜品种,在每年的7、8月份的平均价格,并按年份由远到近显示出来。 select 蔬菜, avg(价格) as 均价, year(日期) as year
    from table
    where month(日期) in (7,8)
    group by 蔬菜, year(日期)
    order by year
      

  3.   

    SELECT  蔬菜编码, 蔬菜名, AVG(价格) AS 平均价格, CONVERT(VARCHAR(7), 日期, 120) AS 日期
    FROM    tbl
    WHERE   MONTH(日期) IN ( 7, 8 )
    GROUP BY 蔬菜编码, 蔬菜名, CONVERT(VARCHAR(7), 日期, 120)