现有员工资料表,只有出生年月,要求80年代员工的平均年龄应该怎样写SQL语句
初学者,麻烦知道的写详细些

解决方案 »

  1.   

    select avg(sum(year([date]))) from tablename where year([date])>=80
      

  2.   


    select cast(avg(datediff(yy,dt , getdate())*1.0) as decimal(18,2)) from tb where substring(convert(varchar(10),dt,120) ,3,2) between '80' and '89'
      

  3.   

    select avg(age) from tb where datepart(yy,时间字段) between 1980 and 1989
      

  4.   

    select avg(sum(year([date]))) from tablename where year([date])>=1980
      

  5.   

    select avg(year(getdate())-(year([date]))) from tablename where year([date])>1980 and year([date])<1990
      

  6.   

    select cast(avg(datediff(yy,dt , getdate())*1.0) as decimal(18,2)) from tb 
    where datepart(yy,dt) between 1980 and 1989
      

  7.   

    select avg(2009-year(出生年月))
    from table
    where year(出生年月) between 1980 and 1989
      

  8.   

    --?
    select avg(datediff(year,日期字段,getdate()))
    from tb 
    where 日期字段 between '1980-01-01' and '1980-12-31'
      

  9.   

    select avg(sum(year([date]))) from tablename where year([date]) between 1980 and 1989
      

  10.   

    select avg(sum([date]))) from tablename where year([date])>=1980 and year([date])<1990 
      

  11.   

    #9楼 得分:0回复于:2009-12-25 15:59:43SQL codeselect avg(sum(year([date]))) from tablename