请问以下SQL语句,要怎样修改才能Group By出想要的结果!现在是不能分组显示!请高手指教!!谢谢!select top 10000 sc.subjectsClassname,s.subjectname,count(s.subjectname) as Num,A.teacherID,tp.jobcategory1
from BI_SubjectLessonForSalary as A
left join
BI_subjects s on A.subjectID=s.subjectID
left join
Bi_subjectsClass sc on A.subjectsClassID=sc.subjectsClassID
left join
Tm_TeacherProfile tp on A.teacherID=tp.ID1
where A.TeacherID is not null and A.teacherID>0
group by s.subjectname,sc.subjectsClassname,A.teacherid,tp.jobcategory1
现在是以下的结果,不能分组:物理1 11 2588 兼职
物理1 4 2658 兼职
物理2 12 129 兼职
英语1 13 740 兼职 

解决方案 »

  1.   


    我的目的是想让结果按名称分组,就是s.subjectname 字段。
      

  2.   


    --按什么分组就group by 什么就可以了
    select top 10000 min(sc.subjectsClassname)subjectsClassname
    ,s.subjectname,count(s.subjectname) as Num,
    min(A.teacherID)teacherID,
    min(tp.jobcategory1) jobcategory1
        from BI_SubjectLessonForSalary as A
        left join
        BI_subjects s on A.subjectID=s.subjectID
        left join
        Bi_subjectsClass sc on A.subjectsClassID=sc.subjectsClassID
        left join
        Tm_TeacherProfile tp on A.teacherID=tp.ID1
        where A.TeacherID is not null and A.teacherID>0    
        group by s.subjectname
      

  3.   

    你group by 后面有4个字段,所以出现上述结果是没有问题的。
      

  4.   


    A.teacherid,tp.jobcategory1--你有4个字段,Groupby 就是要求你4个字段的组合都相同的,这4个字段只要有1个不相同就会是新的一组了。比如:AAAA与ABAA,这就是2组。