当前位置:首页 » 编程语言 » sql更新排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql更新排序

发布时间: 2022-05-12 11:12:20

sql中如何实现 自动更新排序

我提供一个方法

select id int identity(1,1)) , 列一 from 表 into #T;
update 表 set 表.列二 = (select id from #T where #T.列一 = 表.列一 );
dop table #T;

㈡ SQL怎么将查询排序后的数据更新到原本的表中

简单回答:不能,也不应该。
要依某个顺序查询,请加入明确的排序指令,否则系统就会依系统认为最方便高效的方式给你列出数据。

相关说明:
1、当前主流的使用SQL操作的数据数主要是Oracle、MS Sql Server等等。它们有一个共同的做法,就是用户不应对表中的物理记录的顺序进行关心。如果用户需要对查询出的记录进行排序的话,请加入排序指令,这样就能按用户的“心意”进行排序列出了。
2、之所以用户不应对表中的特理记录的顺序进行关心,那是因为通常情况下,一个表中的数据是会经常被更改、修正、删增的,如果每一次的改动都要将整个表的物理顺序进行修正的话,系统的运行效率就会严重低下。
3、如果你实在纠结,实在要在明确的排序指令的情况下查出的数据也按你的想法的顺序出来的话,一般来说,小的数据表你可以将原来的数据删除,然后重新追回进去。具体的做法类似于先SELECT,加order排序指令插入到临时表,然后删除原来表中的数据,然后insert临时表中的数据到原表中。注意的是,这种方法对数据量不大的表,多数情况下有效,但对大量数据的表,很可能无效,因为系统为了效率,会按它的“想法”去读写数据。

㈢ 如何用SQL语句修改字段的排序规则

创建数据表的时候,字段在表中的排列位置就已经确定了。不过,使用ALTER TABLE语句可以改变字段在表中的排列位置。

在MySQL中,修改字段排列位置的基本语法格式如下:
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2;

其中:
•字段名1:表示需要修改位置的字段的名称。
•数据类型:表示“字段名1”的数据类型。
•FIRST:指定位置为表的第一个位置。
•AFTER 字段名2:指定“字段名1”插入在“字段名2”之后。

MySQL字段修改到第一个位置

FIRST参数可以指定字段为表的第一个字段。

实例:将ke369表中的stu_name字段修改为该表的第一个字段。操作步骤如下:

1. 使用DESC语句查看ke369表的结构,以查看stu_name字段的排列位置。如下图所示:

查看stu_name字段的排列位置

从查询结果中可以看出,stu_ www.hbbz08.com name字段为ke369表的第二个字段。

2. 将ke369表中的stu_name字段修改为该表的第一个字段。SQL代码如下:
ALTER TABLE ke369 MODIFY stu_name VARCHAR(30) FIRST;

在DOS提示符窗口中查看MySQL字段修改到第一个位置的操作效果。如下图所示:

在DOS提示符窗口中查看MySQL字段修改到第一个位置的操作效果

代码执行完毕,结果显示stu_name字段修改成功。

3. 使用DESC语句重新查看ke369表的结构,以检查stu_name字段在该表中的新位置。如下图所示:

检查stu_name字段在该表中的新位置

查询结果显示,stu_name字段已经成为了ke369表中的第一个字段,操作成功。

MySQL字段修改到指定位置

“AFTER 字段名2”参数可以将字段重新设置到表中指定的字段之后。

实例:将ke369表中num字段更改到address字段之后。操作步骤如下:

1. 从上图中可以看出,num字段排在address字段的前面。

2. 将ke369表中num字段更改到address字段之后。SQL代码如下:
ALTER TABLE ke369 MODIFY num INT(8) AFTER address;

在DOS提示符窗口中查看MySQL字段修改到指定位置的操作效果。如下图所示:

在DOS提示符窗口中查看MySQL字段修改到指定位置的操作效果

代码执行完毕,结果显示num字段修改成功。

3. 使用DESC语句重新查看ke369表的结构,以便检查num字段是否排在了address字段后面。如下图所示:

㈣ 修改SQL数据库排序规则修改表栏位排序规则

修改SQL数据库排序规则修改表栏位排序规则
修改SQL数据库排序规则:
1.修改为单用户模式
2.然后关闭所有的查询窗口,修改Options的Collocation属性,如:Chinese_PRC_90_CI_AS
3.再修改为多用户模式
修改表栏位排序规则:
使用存储过程处理,可以指定对应的表,
存储过程处理步骤:
1-删除外键
(含对应的sql语句)
2-删除主键
(含对应的sql语句)
2.5-删除索引
(含对应的sql语句)
3-修改排序规则
(含对应的sql语句)
4-生成主键
(含对应的sql语句)
5-生成外键
(含对应的sql语句)
6-生成索引
(含对应的sql语句)
7-执行对应的sql语句及导出

不执行对应的sql语句只导出
存储过程下载:

㈤ sql 排序 update

如果你是要把B=1的那条数据整条移到B=5的数据位置上,语句如下:
update [表名] set A='a' where B=5
如果只是单纯的要把B=1的B值换为5,语句如下:
update [表名] set B=5 where B=1

小于等于5的都自减1.语句如下:

update [表名] set B=B-1 where B<5 or B=5

㈥ sql 更新排序字段

这个其实不用加order by的,因为原来的SQL语句只是位次的顺序倒了,你把sql语句改成这样就可以了
sSql = "update 成绩表 set 位次=(select count(1) from 成绩表 b where b.总分>=成绩表.总分 and 班级='01'"

㈦ sql查询,如果有更新时间则按更新时间倒序,没

按修改的时间倒序排列语句为:
select * from MyTable Order By ModifyTime Desc

如果只想显示最新一条,语句为:
select top 1 * from MyTable Order By ModifyTime Desc
示例:
表查询结果为:
按时间排序后为:
只显示最新一条结果为:
扩展:
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

㈧ sql 批量更新某一排序型字段,数值递加

一点想法:
1、写个function,返回排序,这个函数把id作为参数。
2、1~n可以是不连续的。

㈨ SQL 怎么用查询结果更新列

t表 有没有 与 published_date 相关联的字段?
如果有的话。

UPDATE t
SET
t.AV_L = tmp.AV__L
FROM
t JOIN
(SELECT
published_date,
sum(case when access_complexity='low' then 1 else 0 end) as AV__L
from base_metrics,entry,cvss
where entry.PrimaryKey=cvss.ForeignKey and
cvss.PrimaryKey=base_metrics.PrimaryKey
group by published_date) AS tmp
ON (t.日期字段 = tmp.published_date);

㈩ 如何修改SQL数据库默认排序

在网上查了一些关于更改SQL SERVER2012数据库安装后的默认排序规则(Server Collation)的方法。经过实践测试,把成功的方法记录于此,方便大家查阅。具体的操作还是比较简单的:1.首先打开命令提示符,即win+r,在弹出的窗口中输入cmd即可进入命令提示符窗口;2.在命令提示符窗口中定位在你的SQL SERVER 2012安装包的根目录(注意:是SQL SERVER 2012的安装包哟)如我的安装在D盘的Download文件夹下的SQLSERVER2012SP1文件夹下,那么就进行到SQLSERVER2012SP1这个目录下3.最后运行如下命令:D:DownloadSQLServer2012SP1>Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=account /SAPWD=xxxxxxxx /SQLCOLLATION=Chinese_PRC_CI_AS
即可更改SQL SERVER 2012的默认排序规则(Server Collation)。第三步中的参数说明:INSTANCENAME:数据库的实例名,默认的就是:你的数据库管理账号SAPWD:sa账户的密码,可选SQLCOLLATION:需要修改成的排序规则