我有結果的格式如下SQL Server中設置如何讓在SQL Server中使用T-SQL選定行2008
TagId Tag Views
1 A 1234
1 A 123
我想獲得最高的意見記錄並忽略其他的,我的意思是結果集應該只有第一排
我有結果的格式如下SQL Server中設置如何讓在SQL Server中使用T-SQL選定行2008
TagId Tag Views
1 A 1234
1 A 123
我想獲得最高的意見記錄並忽略其他的,我的意思是結果集應該只有第一排
試試這個
; WITH CTE AS
(
select Tagid, Tag, Views, Rank() over (Partition BY TagId, Tag order by Views DESC) as Rank
from table1
)
SELECT * FROM CTE WHERE Rank = 1
select top 1 *
from tableName
order by Views desc
或
select max(columnName)
from TableName
第一個將返回整行(列所有S),後者將返回標值
Select A.myGROUP, A.Amt
from mtest A
INNER JOIN (Select myGroup, max(Amt) as minAmt from mtest group by mygroup) B
ON B.myGroup=A.mygroup
and B.MinAmt = A.Amt
,如果你需要得到額外的數據:或者,如果你不
Select tagId, tag, max(views)
FROM table
group by tagId, tag
當有不止一個排最大Views
價值,你想要所有的人,你也可以使用TOP (n) WITH TIES
:
SELECT TOP (1) WITH TIES *
FROM atable
ORDER BY Views DESC