读书人

Group By不起成效

发布时间: 2012-08-08 14:32:45 作者: rapoo

Group By不起效果
请问以下SQL语句,要怎样修改才能Group By出想要的结果!现在是不能分组显示!请高手指教!!谢谢!


SQL code
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


现在是以下的结果,不能分组:

物理1112588兼职
物理142658兼职
物理212129兼职
英语113740兼职



[解决办法]
从语法上分析没有任何问题。
[解决办法]
SQL code
--按什么分组就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
[解决办法]
你group by 后面有4个字段,所以出现上述结果是没有问题的。
[解决办法]
SQL code
A.teacherid,tp.jobcategory1--你有4个字段,Groupby 就是要求你4个字段的组合都相同的,这4个字段只要有1个不相同就会是新的一组了。比如:AAAA与ABAA,这就是2组。
[解决办法]
语法没有任何问题,按照楼主目前得到的结果,需要最终正确数据集是什么样的?

读书人网 >SQL Server

热点推荐