本帖最后由 jetaimejay 于 2011-09-26 16:54:15 编辑

解决方案 »

  1.   

    select
      b.DepartmentName,count(a.DepartmentID) 
    from
      Salary a,Department b
    where
      a.DepartmentID=b.DepartmentID
    group by
      b.DepartmentName
    order by
      2 
      

  2.   

    select a.departmentname,count(*) from department a inner join salary on a.departmentid=b.departmentid group by a.departmentname order by 2 desc
      

  3.   

    select d.*,count(1) from department d left join
    salary s on d.departmentid = s.departmentid
    group by s.departmentId,d.departmentName
      

  4.   

    估计要倒排才合理,加desc
      

  5.   


    问:现有工资表[Salary]含以下字段[EmployeeID][Name][Age][DepartmentID][Salary],部门表[Department]含以下字段[DepartmentID] [DepartmentName]。答:请使用SQL语句实现查询:返回各部门人员数量清单,并按部门人员数量排序select DepartmentName,count(*) from Department d
    inner join Salary s on d.DepartmentID=s.DepartmentID
    group by DepartmentName
    order by count(*) desc
      

  6.   

    select m.DepartmentName , isnull(count(1),0) cnt
    from Department m left join Salary n
    on m.DepartmentID = n.DepartmentID
    group by m.DepartmentName
    order by cnt descselect m.DepartmentID, m.DepartmentName , isnull(count(1),0) cnt
    from Department m left join Salary n
    on m.DepartmentID = n.DepartmentID
    group by m.DepartmentID, m.DepartmentName
    order by cnt desc
      

  7.   

    select D.DepartmentID,D.DepartmendName,count(distinct S.EmployeeID)as num
    from salary as S inner join Department as D
    on S.DepartmentID=D.DepartmentID
    group by D.DepartmentID
    order by num