问一个sql查询,如何给查询结果加上序号?

问一个sql查询,如何给查询结果加上序号?,第1张

SQL Server 下

1、SELECT ROW_NUMBER()  OVER(ORDER BY ID) ROWNU,A1 FROM TA1

解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。

SQL Server 中的 ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。

在Oracle里,本就有rownum。可直接用:

1、SELECT rownum,A1 FROM TA1

其它的数据库可能有别的方案,不一而论。

参考资料

百度.百度[引用时间2018-1-4]

有几个方法。

1,定义一个自动编号字段,数据增加一条会自动+1

2,自定义个累加字段,增加数据之前,先取表里的该字段最大值+1,然后插入数据

3,如果毫秒级别不重复的话,可以使用时间戳(也就是date字段),每增加一条,写入插入时的时间。

create table simp

(

id int,

time datetime --SQL里自带时间格式

)

insert into simp(id,time) values (100,'2005-3-23 11:23:25')

go

select * from simp

drop table simp

决定输入的日期如何解释的是set dateformat设置

SET DATEFORMAT

设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。

语法

SET DATEFORMAT { format | @format_var }

参数

format | @format_var

是日期部分的顺序。可以是 Unicode 或转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。

注释

该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。

SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。

权限

SET DATEFORMAT 权限默认授予所有用户。

示例

下例使用不同的日期格式处理不同格式的日期字符串。

SET DATEFORMAT mdy

GO

DECLARE @datevar datetime

SET @datevar = '12/31/98'

SELECT @datevar

GO

SET DATEFORMAT ydm

GO

DECLARE @datevar datetime

SET @datevar = '98/31/12'

SELECT @datevar

GO

SET DATEFORMAT ymd

GO

DECLARE @datevar datetime

SET @datevar = '98/12/31'

SELECT @datevar

GO


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11642498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存