SQL 語法--MAX()、GROUP BY、HAVING 使用

在做SQL 查詢的時候,根據不同的需求會去下不同的指令與條件,

此一範例為使用MAX()、GROUP BY 、HAVING 指令,去找出資料表中某一筆資料。

該筆所要尋找的資料欄位必須為最新的版本,以圖中範例來看的話,假設我們要找出 KQMachineID 為#01,

KQEdition 為正式版本,且 KQVision 為此版本中最大的,範例如下: 

先選出  KQVision 為最大的,且 KQEdition 為"正式"的資料,

select max(KQMachineID)as KQMachineID, max(KQVision) as KQVision,  max(KQEdition) as KQEdition
from [KQFile]  where KQEdition='正式'
group by KQMachineID

接再加入 HAVING 語句,並將所要查詢的 KQMachineID 為#01 加入其中,

select max(KQMachineID)as KQMachineID,max(KQVision) as KQVision, max(KQEdition) as KQEdition
from [KQFile]  where KQEdition='正式'
group by KQMachineID
having KQMachineID ='#01'