當前位置:首頁 » 編程語言 » 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 數量=最大數量)