2012-09-04 298 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

相關問題