2011-09-22 26 views
0

我想檢索我的表中前10名的IDDATE字段。來自sql server的前10名

沒有ID下面的查詢工作:

select top 10 MAX(FromDate) as upcomingdates 
from TM_Schedule 
group by(FromDate) 

但是,如果我添加了ID,它拋出一個錯誤:

select top 10 MAX(FromDate) as upcomingdates, ID 
from TM_Schedule 
group by(FromDate) 
+0

請指定拋出哪個錯誤:) – Snicksie

+0

你得到了什麼錯誤? –

回答

0
Select FromDate as upcomingdates, ID from TM_Schedule 
WHERE FromDate IN 
( 
    select top 10 MAX(FromDate)as upcomingdates from TM_Schedule group by(FromDate) 
) 
ORDER BY FromDate 
0

這樣做:

select top 10 MAX(FromDate)as upcomingdates, ID 
from TM_Schedule group by(FromDate), ID 

您需要按ID進行分組

1

我不知道您的數據,但看起來您可以在沒有GROUP BYMAX的情況下完成此操作。試試這個:

SELECT TOP 10 ID, FromDate 
FROM TM_Schedule 
ORDER BY FromDate DESC 

它應該工作,除非你有相同的ID多個FromDate值。