sql 分组 求出每组最大的数据有几条

例如:A 1

A 2
B 1 按第一列分组得到两组,第一组最大为2,一条数据,第二组最大为1,一条数据

第1个回答  2013-07-21
--创建数据
create table T([name] varchar(20),[value] int);
insert into T
select 'A',1
union
select 'A',2
union
select 'B',1
--查询分组后每组中最大的数据有多少条
select  a.n,count(*) from
(select [name] n,max([value]) mv from T group by [name]) a
inner join T b on a.n=b.[name] and a.mv=b.[value]
group by a.n

楼主试试行不行

第2个回答  2013-07-20
--楼主这个是分类 排序
--这个语句一起执行 把列名换一下(col1 第一列,col2 第二列) 表名tablename也换一下 就可以了
--有什么问题可以随时找我 希望采纳
with tbname as(
select col1,col2, row_number() over (partition by col1 order by col2 desc) bz from tablename)
select col1,col2 from tbname where bz=1本回答被网友采纳

sql 分组 求出每组最大的数据有几条
--创建数据create table T([name] varchar(20),[value] int);insert into Tselect 'A',1unionselect 'A',2unionselect 'B',1--查询分组后每组中最大的数据有多少条select a.n,count(*) from(select [name] n,max([value]) mv from T group by [name]) ainner join T b on a....

oracle sql查询完成分组并只返回每组的最小最大值
我的测试表里有7条数据。每3条数据分作一组求最小和最大id。WITH tmp ("id") AS (SELECT 1 FROM DUAL UNION ALLSELECT 2 FROM DUAL UNION ALLSELECT 3 FROM DUAL UNION ALLSELECT 4 FROM DUAL UNION ALLSELECT 5 FROM DUAL UNION ALLSELECT 6 FROM DUAL UNION ALLSELECT 7 FROM DUAL ) ...

access sql 中分组查询最大的几个值
查询 数据 要求: 同一个班级里面, 分数比当前行分数更高的, 不能超过3个

sql 怎么得到group by 后每个组内数据的条数
count(*)就是你id组对应的条数

sql语言 怎么求每组最大,就是用group by 分组后,求每组某列最大?
在分组中使用max()函数即可。例图中表格:按b列分组,求D列最大值:select b,max(d) from a group by b 如果是最小,则可以使用 min()函数

用sql命令统计一张表中最大值的个数
请描述具体的问题,不然无法帮你解决问题?到底是最大值,还是求个数?最大值个数?表示不是很理解这个意思,或者说你是否要增加某个特定的条件取共多少的值呢?最大值:select max(列名)from table;个数:select count(列名)from table;最大值个数可能是存在分组是否条件?

SQL语句, 麻烦大家看一下,下面我用MAX取最大值,为什么还是出现了几...
你group分组了 取的是每组的最大值 当然有好多记录了 你把Group By去掉吧

sql如何求分组计数之后计数的最大值
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...

Sql分组查询最大数据并查询出没分组行数
select groupid,goupname,max(groupnum) as maxnum,count(1) as groupno from table group by groupid,groupname

sql语句 如何分组后得到记录总数
SELECT COUNT(*)FROM (SELECT 分组字段 FROM 表 GROUP BY 分组字段 )别名 或者 SELECT COUNT(*)FROM (SELECT distinct 分组字段 FROM 表)别名

相似回答