sql-server - 如何按升序从另一个表中插入一个表中的记录
问题描述
我无法按升序从同一数据库中的另一个表中插入 SQL Server 表中的记录。
INSERT into SalaryDetails.dbo.SalaryAsc
SELECT *
FROM SalaryDetails.dbo.Salary as tb1
order by tb1.id
以下是我正在获取的内容:
预期的
获得:
解决方案
我不明白按特定顺序插入数据背后的逻辑,因为您可以select
随时订购。
但是,如果order by
插入期间真的很重要,您可以在表(新创建的)上添加聚集索引,以便order by
基于聚集索引的表中的实际数据Columns
,尝试以下查询来做同样的事情:
--Drop table SalaryDetails.dbo.SalaryAsc
SELECT * into SalaryDetails.dbo.SalaryAsc
FROM SalaryDetails.dbo.Salary as tb1
go
CREATE Clustered index CLU_SalaryAsc ON SalaryAsc (id asc);
推荐阅读
- xml - 如何在 if 条件下分配固定值
- android - 仅从 API Kotlin 获取 null
- python - 根据 pandas 中另一个数据帧的掩码值在数据帧中生成 NaN
- python - 将在不同工作机器上创建的数据帧连接成一个数据帧
- sql - 创建 SQL 查询以查找整个 Redshift 数据库中包含特定文本字符串(数据)的所有表
- ckeditor - 在 IIS 和 localhost 中的子目录上托管时出错
- python - FLASK-WTF 更新唯一列 PYTHON/FLASK/SQLITE
- angular - 我如何找出哪些包会受到另一个包的更新的影响?
- android - React Native Android 前台推送通知与 iOS 不一致
- java - 使用 Reader 和 Writer 的压缩算法