當前位置:首頁 » 編程語言 » sql分組取最大

sql分組取最大

發布時間: 2024-08-25 13:30:51

『壹』 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.更新時間

(1)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查詢 分組後 每組某欄位值最大的一行所有列

按照員工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 分組篩選取標識最大的那一行

  • 假設數據表名為haha,內容如下
    id name data
    1 ABC 2
    2 ABC 3
    3 ABC 5
    1 DEF 3
    2 DEF 4

    只允許使用查詢,不能使用創建表的語句,結果中name列的值具有唯一性且包含原表中該列所有的值,如果有重復的,只取對應id列的值為最大的。

  • 查詢結果為
    id name data
    3 ABC 5
    2 DEF 4

    以上只是假設,實際數據表大小超過600MB

『肆』 sql語言 怎麼求每組最大,就是用group by 分組後,求每組某列最大

在分組中使用max()函數即可。

例圖中表格:

如果是最小,則可以使用 min()函數

『伍』 求助sql分組取最大唯一值

select max(aaaa) from (select distinct (值) aaaa from 表名 group by 分組欄位) T;
其中distinct()過濾重復值,max()取最大值。

『陸』 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;

熱點內容
存儲台設計 發布:2024-11-25 10:40:04 瀏覽:668
如何查看自己電腦的所有配置 發布:2024-11-25 10:14:02 瀏覽:771
java編譯器偽編譯指什麼 發布:2024-11-25 10:08:53 瀏覽:961
amax伺服器默認地址 發布:2024-11-25 10:07:20 瀏覽:318
甘肅省浪潮伺服器雲伺服器 發布:2024-11-25 10:07:17 瀏覽:522
android手環 發布:2024-11-25 10:03:55 瀏覽:163
如何將安卓機設置為蘋果機 發布:2024-11-25 09:41:24 瀏覽:970
伺服器屏蔽一段ip 發布:2024-11-25 08:52:06 瀏覽:100
售茶源碼 發布:2024-11-25 08:37:29 瀏覽:463
壓縮包改直鏈 發布:2024-11-25 08:34:33 瀏覽:612