我想按名称分组,按号码排序,找出每组号码最大的几行。比如:如下数据
我想找出每组名称中,号码最大的几行。
序号 名称 号码
1 电脑 D
2 电脑 D
1 电脑 C
2 电脑 C
1 电脑 B
1 手机 A
结果:
1 电脑 D
2 电脑 D
1 手机 A
不对。
本回答被网友采纳sql按字段分组,排序,并且找出每组最大的数据
select [序号],[名称],max([号码]) from table group by [名称] ,[序号]
sql语言 怎么求每组最大,就是用group by 分组后,求每组某列最大?
在分组中使用max()函数即可。例图中表格:按b列分组,求D列最大值:select b,max(d)from a group by b 如果是最小,则可以使用 min()函数
sql查询 分组后 每组某字段值最大的一行所有列
按照员工ID分组,取出ID值最大的一行 1、第一个方法,需要考虑ID有重复值的问题,如果最大值存在重复值,那么结果也重复。SELECT * FROM 员工信息变化表 T1 WHERE id = (SELECT Max (id) FROM 员工信息变化表 T2 WHERE T1.员工ID = T2.员工ID)2、第二个方法:该语句是在SQL Server中...
sql如何求分组计数之后计数的最大值
[sql] view plain copy 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('...
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 ) ...
请教一个sql(按2个字段分组然后从每组取出最大的一条纪录,再根据一个标...
CREATE TABLE #test ( id INT, [number] varchar(6), dept varchar(6), [date] int, flag int);GOINSERT INTO #testSELECT 1, '001', 'aa', 20130201, 1 UNION ALLSELECT 2, '001', 'aa', 20120801, 0 UNION ALLSELECT 3, '001', 'bb', ...
sql 插入分组的最大值?
你好~可能你讲的不是太清晰,你看下这样是否可以:select * from (select *, row_number() over(PARTITION BY A order by A Desc)as num from t1 )T where num=1 根据A作倒序排序,之后,取你讲的最后一条记录。这个查询就是得到你第一问的结果。
SAS 分组排序后编号,取出每一组编号最大值
假设数据集名为datause,那么:proc sql;create table datause_counting asselect bl1, count(bl3) as Group_Size from datausegroup by bl1;Create table newdatause asselect a.*, b.group_size from datause a left join datause_counting bon a.bl1=b.bl1;quit;
如何使用sql语句进行批量查询?
select*,max(create_time)froma wherecreate_time<="2017-03-2919:30:36"groupbyuser_id 这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。