当前位置:首页 » 编程语言 » sql分组查询最大值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql分组查询最大值

发布时间: 2023-02-13 10:54:31

sql语言 怎么求每组最大,就是用group by 分组后,求每组某列最大

select
max(列名)
as
[最大……]
//[最大……]
这个是指你自己可以命名的
from
[表名]
group
by
[列名]

⑵ sql查询 分组后 每组某字段值最大的一行所有列

按照员工ID分组,取出ID值最大的一行

1、第一个方法,需要考虑ID有重复值的问题,如果最大值存在重复值,那么结果也重复。

SELECT*
FROM员工信息变化表T1
WHEREid=(SELECTMax(id)
FROM员工信息变化表T2
WHERET1.员工ID=T2.员工ID)

2、第二个方法:该语句是在SQL Server中编写的,应该不适用于MySQ和Oracle。排名函数是SQL Server2005中新增的功能,不适用SQL Server 2000

SELECT*
FROM(SELECTrow_number()OVER(PARTITIONBY员工IDORDERBYidDESC)
ASROW_NUM,
*
FROM员工信息变化表)T1
WHEREROW_NUM=1

⑶ sql 分组后求每组中的最大值对应的那条数据

select A,C,(select B from T t where t.A = K.A AND t.C = K.C) B

from( select t.A A,max(t.C) C from T tgroup by T.A) K

⑷ SQL Server中如何分组查询最大值

SQL> with a as (select 1 a,0 b,'c1' c,'d1' d from al
2 union
3 select 1 a,1 b,'c2' c,'d2' d from al
4 union
5 select 1 a,3 b,'c3' c,'d3' d from al
6 union
7 select 4 a,0 b,'c4' c,'d4' d from al
8 union
9 select 5 a,1 b,'c5' c,'d5' d from al
10 union
11 select 5 a,2 b,'c6' c,'d6' d from al
12 union
13 select 6 a,1 b,'c7' c,'d7' d from al
14 union
15 select 6 a,4 b,'c8' c,'d8' d from al
16 )
17 SELECT A,B,C,D FROM
18 (select A,B,C,D,ROW_NUMBER()OVER(PARTITION BY A ORDER BY A,B DESC) RN from A)
19 WHERE RN=1
20 /

A B C D
---------- ---------- -- --
1 3 c3 d3
4 0 c4 d4
5 2 c6 d6
6 4 c8 d8

SQL>

⑸ sql语句。。查询:分组的总和的最大值。。。

select name,count(*) from 表 group by name
这样显示出来就是
ss 3
dd 2
如果后面加上 where name='ss'那么结果就是ss 3
所以也就不存在什么max(总和)了,因为你已经锁定了name了。

另外,如果要查max(总和),那么代码如下:
select max(x.ACount) 最大总和 from (select name,count(*) ACount from 表 group by name) x

⑹ SQL:如何取得分组中某个字段为最大值的那些记录

用group by就可以解决。
比如表名为test,数据如下
id grade
1 10
1 20
2 40
2 30

现在要求按id分组查询grade的和,可以用如下语句:

1

select id,sum(grade) as grade from test group by id;

得到的结果是
id grade
1 30
2 70

⑺ SQL查询取分组最大值

selectt1.分类,t1.商品名称,table.库存,t1.更新时间

from (

select 分类,商品名称,max(更新时间) 更新时间 from table

group by 分类,商品名称

) t1

inner join table on t1.分类=table.分类 and t1.商品名称=table.商品名称 and t1.更新时间

=table.更新时间

(7)sql分组查询最大值扩展阅读:

关于SQL最大值查询语句的记录

SELECT

bsnum,

STATE AS FILE_STATE

FROM

FILE_RECORD r

WHERE

STATE =(

SELECT

MAX(STATE)

FROM

FILE_RECORD

WHERE

bsnum = r.bsnum

);

小技巧:有时需要测试sql语法但又觉得创建表麻烦,可以使用创建一个临时表,如下:

select id, count(t.id) from

(

select 1 as id, 2 as age, 'F' as sex from al union

select 2 as id, 2 as age, 'M' as sex from al union

select 3 as id, 3 as age, 'F' as sex from al union

select 4 as id, 4 as age, 'M' as sex from al

)t

⑻ SQL分组查询最大值最小值

查询语句参考如下:
select
UserName,--
Convert(char(8),dealTm,112) as date,--日期
min(dealTm) as earliestTime ,--最大
max(dealTm) as latestTime--最小
from t2
group by Convert(char(8),dealTm,112) ,UserName

⑼ sql如何求分组计数之后计数的最大值

插入测试记录:

[sql] view plain

insertintostudentsvalues('数学','Jack','Tianjin',80)

insertintostudentsvalues('数学','Jordan','Tianjin',80)

insertintostudentsvalues('数学','James','Beijing',55)

insertintostudentsvalues('英语','Jack','Tianjin',90)

insertintostudentsvalues('英语','Jordan','Tianjin',60)

insertintostudentsvalues('英语','James','Beijing',100)

insertintostudentsvalues('语文','Jack','Tianjin',60)

insertintostudentsvalues('语文','Tom','Tianjin',77)

insertintostudentsvalues('语文','Jordan','Tianjin',68)


想要抓取每个科目第一名的整条信息,可以使用Row_number()函数:

select*

from(

selectcourse,stu_name,city,score,ROW_NUMBER()over()asrn

fromstudents

)a

wherea.rn<=1;

⑽ mssql 2005查询 请问我要实现分组获取最大值,怎么写sql查询指令

select tb.型号,品牌,批号,数量 from tb
join
(select 型号,max(数量)as 最大数量 from tb group by 型号) A
on
(tb.型号=A.型号 AND 数量=最大数量)