1. 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
2. sql 多條數據各自的最大日期
以sCardNum分組,取出最大時間的記錄
select * from cards where srcvouchdate in (select MAX(srcvouchdate) from UserList group by sCardNum)
3. 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;
4. sql分組後取最大日期的記錄
select a.f_SPBM,a.f_kcsl
from tempTest a,
(
select f_SPBM,max(f_rq) f_rq
from tempTest
group by f_SPBM
) b
where a. f_SPBM = b. f_SPBM
and a.f_rq = b.f_rq
5. SQL中如何選擇表中日期最大值
給你個思路:
WITHMessages(ID,ToEmpID,FromEmpID,SendDate,Detail)AS
(
SELECT1,'張三','李四','2014/06/05','a'UNIONALL
SELECT2,'王五','張三','2014/06/03','b'UNIONALL
SELECT3,'劉六','張三','2014/06/02','b'UNIONALL
SELECT4,'張三','李四','2014/05/05','a'UNIONALL
SELECT5,'王五','張三','2014/05/03','b'UNIONALL
SELECT6,'劉六','張三','2014/05/02','b'
)
SELECTID,ToEmpID,FromEmpID,SendDateFROMMessagesa
WHEREIDin
(
SELECTTOP1ID
FROMMessages
whereToEmpID=a.ToEmpIDANDFromEmpID=a.FromEmpID
ORDERBYSendDateDESC
)
6. 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>
7. SQL兩個表聯合查詢記錄中怎麼取最大值
1、在打開的ie瀏覽器窗口右上方點擊齒輪圖標,選擇「Internet選項」,如下圖所示:
8. 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.更新時間
(8)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
9. sql 分組求和,取各組極值,求高手
select max(時刻值)
,min(時刻值)
from (select 日期 時刻 名稱 類型 等級 sum(時刻值)
from TO
group by 日期 時刻 名稱 類型 等級)
10. sql server分組求最大值(100分)
select 編號,姓名,max(合同日期)
from table
group by 編號,姓名
order by 合同日期;
--測試數據:
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 張三 1985-5-1
100 張三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name
4 ;
NO NAME MAX(HT)
---------- -------------------- -----------
100 張三 1986-5-1
101 李四 1999-5-1
SQL> insert into a values(100,'張三',to_date('1999-5-1','yyyy-mm-dd'));
1 row inserted
SQL> select * from a;
NO NAME HT
---------- -------------------- -----------
100 張三 1985-5-1
100 張三 1986-5-1
101 李四 1985-5-1
101 李四 1999-5-1
100 張三 1999-5-1
SQL>
SQL> select no,name,max(ht)
2 from a
3 group by no,name;
NO NAME MAX(HT)
---------- -------------------- -----------
100 張三 1999-5-1
101 李四 1999-5-1
新插入了一條數據之後,使用該sql查詢語句即把剛插入的合同日期最大的那條數據顯示出來了