2012-09-04 81 views
0

Backstory:我正在使用SQL Server,因为我的数据集大约有150列,我不想将所有这些输入到MySql Workbench表设置中。所以我使用的是MS SQL Server数据导入工具。SQL Server 2008 R2 Express行号

我试图设置表,以便我可以在R下采样数据。我计划抽取所有的正数(〜100k),然后从非正数抽取〜400k的随机样本。要做到这一点,我需要一个行编号列索引正面和非正面。

MySQL我只是在设置表格时添加了行编号列,但我不知道如何在SQL Server's数据导入工具中执行此操作。我已经建立了表格,并且希望添加它(或者知道SQL Server已经分配了行号),但愿意重建表格,因为没有行号就无法使用表格。

编辑:我需要知道如何在SSMS中或直接在导入工具中执行此操作。

有什么建议吗?

回答

2

您可以使用ROW_NUMBER()函数。可以在查询中使用它,也可以编写基于ROW_NUMBER()的更新语句更新表中的行。

如果您在分配行号时不关心排序,也可以在表中添加一个新的整数自动递增列。为了做到这一点,一个新的IDENTITY列添加到表:

ALTER TABLE dbo.YourTable 
    ADD ID INT IDENTITY(1,1) 

Add a column to existing table and uniquely number them

+0

如何添加自动递增列一个新的整数?我正在使用SSMS。当我添加一列时,我可以命名它并将其设置为INT和NOT NULL,但无法找到自动递增设置。 – screechOwl

+0

我在这里没有SSMS,但它应该在用户界面中...我可以稍后检查。 – driis

+0

我用添加列的脚本方式更新了答案 - 您应该使用哪一种方式;-) – driis

相关问题