Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mempertahankan ORDER BY di SELECT INTO

Saya tahu ini agak lama, tetapi saya perlu melakukan sesuatu yang serupa. Saya ingin memasukkan konten dari satu tabel ke tabel lain, tetapi dalam urutan acak. Saya menemukan bahwa saya dapat melakukan ini dengan menggunakan select top n dan order by newid() . Tanpa 'top n', urutan tidak dipertahankan dan tabel kedua memiliki baris dalam urutan yang sama seperti yang pertama. Namun, dengan 'top n', urutan (acak dalam kasus saya) dipertahankan. Saya menggunakan nilai 'n' yang lebih besar dari jumlah baris. Jadi pertanyaan saya adalah seperti:

insert Table2 (T2Col1, T2Col2)
  select top 10000 T1Col1, T1Col2
  from Table1
  order by newid()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tetapkan nilai awal untuk kolom dengan peningkatan otomatis

  2. Bagaimana saya bisa menggunakan Date Datatype di sql server?

  3. Kasus dalam Pernyataan Pilihan

  4. Matriks Versi yang Didukung SQL Server

  5. Hanya menyisipkan baris jika belum ada