2013-12-19 70 views
1

我正在SQL Server中創建一個新表。我想插入另一張表中的行,並且我想包括姓名,團隊,招待會,場地和觸地得分。我想選擇碼數最多的前六名接收者。SQL Server選擇頂部

我的查詢看起來像這樣的時刻:

insert into ProBowl (Name, Team, Receptions, Yards, Touchdowns) 
select top 6 from Widereceivers; 

當我這樣做,它只是返回前六行 - 但它並沒有被碼數排序。我怎樣才能做到這一點?

+3

通過增加一個'爲了by'聲明。 –

回答

4

Order By in Sql。

從文檔我上面鏈接:

[ASC] 指定查詢結果的升序排列。 ASC是ORDER BY的默認訂單。 [DESC] 指定查詢結果的降序。

要按降序排列,這樣做:

SELECT TOP 6 * FROM Widereceivers ORDER BY yards DESC; 

要按升序排列,這樣做:

SELECT TOP 6 * FROM Widereceivers ORDER BY yards ASC; 
+1

可能要檢查第二個查詢。 – alroc

+0

@alroc - 感謝編輯和單挑。我的教授總是習慣於警告我匆忙和剪貼的危險。 – Brian

4

它不是按碼數排序,因爲你沒有告訴它按碼數排序。

select top 6 * from widereceivers order by yardage desc;