在我的项目中,我允许用户从给定的选项中选择他选择的数据库,我需要考虑所有这些可选数据库来编写查询。因此,根据我的一个要求,是否有任何方法可以在 MSSQL 中实现类似于 ROW_NUMBER() 的通用功能?
最佳答案
这就是你如何使用分析
数据库服务器
select top 10 row_number() over (order by name)
from sys.objects
甲骨文
select row_number() over (order by object_name)
from all_objects
where rownum<=10
请注意,我刚刚使用字典表生成了一些测试数据 - 您可以使用自己的数据。
如果你想要一个唯一的(非顺序键)你可以使用 guid
数据库服务器
select top 10 NEWID()
from sys.objects
甲骨文
select sys_guid()
from all_objects
where rownum<=10
Sqlserver 甚至有 NEWSEQUENTIALID () 来创建一个顺序 guid,它解决了他们为大量值索引一个 guid 的问题。
关于mysql - 我们能否以通用/通用方式为所有使用 SQL 的数据库实现类似于 ROW_NUMBER() 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942230/