sql 分組後查詢最大所有列信息
阿新 • • 發佈:2017-12-22
() 多條 查詢 delete val select score number bubuko
CREATE TABLE students (course varchar(10), stu_name varchar(10), city varchar(10), score int ) insert into students values(‘數學‘,‘Jack‘,‘Tianjin‘,80); insert into students values(‘數學‘,‘Jordan‘,‘Tianjin‘,80); insert into students values(‘數學‘,‘James‘,‘Beijing‘,55); insert into students values(‘英語‘,‘Jack‘,‘Tianjin‘,90); insert into students values(‘英語‘,‘Jordan‘,‘Tianjin‘,60); insert into students values(‘英語‘,‘James‘,‘Beijing‘,100); insert into students values(‘語文‘,‘Jack‘,‘Tianjin‘,60); insert into students values(‘語文‘,‘Tom‘,‘Tianjin‘,77); insert into students values(‘語文‘,‘Jordan‘,‘Tianjin‘,68); DELETE from students SELECT * from students --最大是多條的時候取一條 select * from ( select course,stu_name,city,score,ROW_NUMBER() over(partition by course order by score desc) as rn from students ) a where a.rn <=1; --最大是多條的時候都取 select --a.course,a.score,b.stu_name,b.city,b.course course1,b.score score1 b.* from ( SELECT course,max(score) score from students GROUP BY course ) a LEFT JOIN students b on a.course=b.course and a.score=b.score;
sql 分組後查詢最大所有列信息