Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zachowanie ORDER BY w SELECT INTO

Wiem, że to trochę stare, ale musiałem zrobić coś podobnego. Chciałem wstawić zawartość jednej tabeli do drugiej, ale w przypadkowej kolejności. Zauważyłem, że mogę to zrobić, używając select top n i order by newid() . Bez „top n” kolejność nie została zachowana, a druga tabela miała wiersze w tej samej kolejności co pierwsza. Jednak w przypadku „top n” kolejność (w moim przypadku losowa) została zachowana. Użyłem wartości „n”, która była większa niż liczba wierszy. Moje zapytanie było więc następujące:

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. Statystyka obiektów bazy danych SQL Server

  2. Jak zamienić wiele znaków w SQL?

  3. Sposoby łatwej przebudowy głównej bazy danych w SQL Server

  4. SCOPE_IDENTITY() dla identyfikatorów GUID?

  5. Zaktualizuj profil poczty bazy danych (SSMS)