『壹』 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 語句 獲取最大值
sql 語句獲取一列中的最大值使用MAX() 函數
一、MAX() 函數返回指定列的最大值。
二、SQL MAX() 語法:
SELECT MAX(column_name) FROM table_name;
三、參數解釋
column_name:列名
table_name:表名
(2)sql選取最大值擴展閱讀:
最小值語句
MIN() 函數
MIN() 函數返回指定列的最小值。
SQL MIN() 語法
SELECT MIN(column_name) FROM table_name;
參考資料:網路-SQL MAX
『叄』 sql如何對這種情況取最大值
select t.department_id,
max(salary) salary
from (select department_id,
avg(salary) salary
from emloyees
group by department_id
having count(1) > 1) t
group by t.department_id;
聚合函數是不能套用的,只能通過子查詢的方式來處理
註:having count 我把 * 改成 1 了,這樣效率能高一些
『肆』 SQL選出一列中最大的數怎麼寫
在本機測試過了
select * from
(select skb.學號,sum(成績) as sum_score,avg(成績) as avg_score from skb group by 學號) tmp left outer join student on student.學號=tmp.學號 where sum_score=(select max(sum_score) from (select skb.學號,sum(成績) as sum_score,avg(成績) as avg_score from skb group by 學號) a)
『伍』 SQL 中取最大值
select
name,address,max(status)
from
表名
group
by
name
『陸』 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
)
『柒』 sql取最大值和最小值
select
g_table.max_so2
,t_so2.date
,g_table.min_so2
,t_so2_min.date
....
(
select
max(so2) max_so2
,min(so2) min_so2
,max(pm2.5) max_pm25
,min(pm2.5) min_pm25
...
,max(co) max_no2
,min(co) min_co
from table_name
) g_table
,table_name t_so2
,table_name t_so2_min
...
where g_table.max_so2 = t_so2.so2(+)
and g_table.min_so2 = t_so2_min.so2(+)
....
你這個需求有點費勁,這樣能實現,但是效率很低。
『捌』 SQL選擇最大值
select
姓名,max(Score)
from
(
select 姓名,語文 Score from 成績表
union
select 姓名,數學 from 成績表
union
select 姓名,英語 from 成績表
union
select 姓名,政治 from 成績表
union
select 姓名,歷史 from 成績表
) a
group by
姓名
『玖』 SQL查詢問題,取最大值
你這個用一條語句還不太好寫
試試這個,不過 First 函數不是 SQL 函數,只有 Access 支持
SELECT First(id) AS ID, [wordID], MAX([price]) AS price, time
FROM [tablename]
GROUP BY [wordID],[time]
ORDER BY [time]
建議你用存儲過程來寫
『拾』 SQL怎麼提取欄位中最大值
1、既然被for xml path('')組合到一起了,那就想辦法把這個字元串拆開;
2、可以創建一個Split這樣的函數,來拆開這一列為一個表的形式;
3、然後,再查出這個表裡的最大值即可
下面是Ufn_Split函數
createfunction[dbo].[Ufn_Split](@Arrayvarchar(max),@StrSepratevarchar(10))
returns@TokenValstable(fjj_idINTIDENTITY(1,1),strValuevarchar(255))
as
begin
declare@strlenint,@curposint,@valvarchar(255),@nextcommaint
set@strlen=datalength(@Array)
set@curpos=0
while@curpos<=@strlen
begin
set@nextcomma=charindex(@StrSeprate,@Array,@curpos)
if@nextcomma=0
set@nextcomma=@strlen+1
set@val=substring(@Array,@curpos,@nextcomma-@curpos)
insert@TokenValsvalues(rtrim(ltrim(@val)))
set@curpos=@nextcomma+1
end
return
end
函數使用方法:
select*fromdbo.Ufn_Split('1+2+3+5+1','+')table1