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 分组后查询最大所有列信息的更多相关文章

  1. SQl 分组后按照某一列拼接字符串

    /* 分组之后拼接字符串 */ ;with t as( SELECT WorkflowId,Remark FROM dbo.OperatorAutomationProcess GROUP BY Wor ...

  2. sql 分组后查询出排序字段

    select  row_number() over(partition by  CODE order by SEQUENCE) as RowIndex  from Table 注:根据表的CODE 字 ...

  3. sql 分组后显示每组的前几条记录

    sql 分组后显示每组的前几条记录 如   表中记录是             code       serialno             A1               1           ...

  4. sql 分组后按时间降序排列再取出每组的第一条记录

    原文:sql 分组后按时间降序排列再取出每组的第一条记录 竞价记录表: Aid 为竞拍车辆ID,uid为参与竞价人员ID,BidTime为参与竞拍时间 查询出表中某人参与的所有车辆的最新的一条的竞价记 ...

  5. sql 分组统计查询并横纵坐标转换

    关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop tab ...

  6. SQL 分组后取最小行号记录

    本示例测试两个表联接查询后,分组并取分组后的最小行号记录 测试表: tb1表结构如下: CREATE TABLE [dbo].[tb1]( ) NOT NULL, ) NULL, ) NULL, CO ...

  7. sql 分组后重复数据取时间最新的一条记录

    1.取时间最新的记录 不分组有重复(多条CreateTime一样的都是最新记录) select * from test t where pid in ( select PId from Test t ...

  8. sql 分组后每组查询10个

    SELECT ID,Name,Class ROW_NUMBER() OVER(PARTITION BY Class ORDER BY ID) as NUM 主要是用到 rownum 里面的 PARTI ...

  9. mysql在group by分组后查询第二条/第三条乃至每组中任意一条数据

    昨天老板让我查询项目中(众筹),没人刚发起感召后,前三笔钱的入账时间和金额,这把大哥整懵逼了,group by在某些方面是好使,但这次不能为我所用了,获取第一笔进账是简单,可以用group by 直接 ...

随机推荐

  1. sql where 1=1和 0=1 的作用(多条件查询错误的问题)

    where 1=1; 这个条件始终为True,在不定数量查询条件情况下.1=1能够非常方便的规范语句. 一.不用where  1=1  在多条件查询中的困扰 举个样例,假设您做查询页面,而且.可查询的 ...

  2. 数据挖掘算法之聚类分析(二)canopy算法

    canopy是聚类算法的一种实现 它是一种快速,简单,但是不太准确的聚类算法 canopy通过两个人为确定的阈值t1,t2来对数据进行计算,可以达到将一堆混乱的数据分类成有一定规则的n个数据堆 由于c ...

  3. observer pattern 之我见

    所谓模式,更多的是一种想法,完全没必要拘泥于代码细节.观察者模式更多体现了两个独立的类利用接口完成一件本应该很复杂的事情 --------------------------------------- ...

  4. C# /windowForm/WPF/SilverLight里面操作Word帮助类提供给大家

    很多的程序都需要用到对word的操作,数据库里面的表需要一书面的形式展示出来,最近在的一个项 using System; using System.Collections.Generic; using ...

  5. 爪哇国新游记之二十八----从url指定的地址下载文件到本地

    package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; ...

  6. Timus Online Judge 1057. Amount of Degrees(数位dp)

    1057. Amount of Degrees Time limit: 1.0 second Memory limit: 64 MB Create a code to determine the am ...

  7. EXTJS4自学手册——图形行为(rotate,scale)

    一.旋转图像: { xtype: 'button', text: '旋转的字', handler: function (btn) { Ext.create('Ext.window.Window', { ...

  8. Mysql中获取行号

    Select UID,(@rowNum:=@rowNum+1) as rowNo From a, (Select (@rowNum :=0) ) b Order by a.Money Desc

  9. 深入浅出理解之 onInterceptTouchEvent与onTouchEvent

    参考:http://blog.csdn.net/android_tutor/article/details/7193090   与   http://www.cnblogs.com/kingcent/ ...

  10. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型API范围

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型API范围         本章之前提到过. ...