我使用命令sqlSave
(RODBC包的一部分)將數據添加到現有的MS SQL數據庫。當我運行一個簡單的「SELECT TOP 2000」查詢(表中只有1500行,所以所有的數據都被這個查詢顯示)時,數據庫中的原始表按日期排序,但是當我運行sqlSave
時,新的數據被添加但該表不再按日期順序排列 - 某些行添加在頂部和一些底部。SqlSave - 日期不按順序附加到數據庫
我使用以下代碼:
sqlSave(channel, Mydataframe, MyTable, append=TRUE, rownames = FALSE, fast = FALSE)
將R數據幀具有相同的列數(以相同的順序,並用相同的名稱)作爲表。
我也注意到,在我的數據庫中,添加查詢表並不總是導致按順序分配的ID排序的表。但要記住的是,數據庫是存儲數據的地方。只要數據保持完整性,行的順序就無關緊要。如果您需要以特定方式對結果進行排序,則應在查詢(即SELECT)時不要保存時對其進行處理。 – Benjamin
https://blogs.msdn.microsoft.com/conor_cunningham_msft/2008/08/27/no-seatbelt-expecting-order-without-order-by/ –
爲了通過SQL獲得完全限定的查詢,必須指定和排序並將別名分配給保留的列名稱。如果沒有訂購,RS不能保證相同。 – WickedFan