2013-12-19 72 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;