SQL语句


1.在SQL   Server   数据库中,有一个表StudentAchievement(学生成绩),它有三个字段:StudentID(varchar(8),学生编号),CourseID(varchar(10),课程编号),Achievement(int   ,成绩),写一条SQL语句,筛选出每门课程的前两名的学生编号,课程编号,成绩并排序。
Select   *  
  From   StudentAchievement   a  
  Where   StudentID   in   (Select   Top   2   StudentID    
                                          From   StudentAchievement  
                                          Where   CourseID=a.CourseID    
                                          Order   by   Achievement   desc)  
  order   by   CourseID,Achievement   desc

2.有倆個表;表Student(UserID,UserName),UserID為主鍵,表SourceInfo(UserID,SourceID,Source),無主鍵
 
要求:查詢出選擇三門課以上的Username,UserID

select a.username,a.userid,Count(1) as SourceIDCount from userinfo as a with(nolock)
join SourceInfo as b with(nolock) On a.UserID =b.UserID
group by a.username,a.userid
having Count(1) >=3
--having 表示group by 后的筛选

posted on 2008-06-12 14:47  squll201  阅读(170)  评论(0)    收藏  举报

导航