2011-11-07 47 views

回答

3

試試這個

; 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 
3
select top 1 * 
from tableName 
order by Views desc 

select max(columnName) 
from TableName 

第一個將返回整行(列所有S),後者將返回標值

1
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 
0

當有不止一個排最大Views價值,你想要所有的人,你也可以使用TOP (n) WITH TIES

SELECT TOP (1) WITH TIES * 
FROM atable 
ORDER BY Views DESC