User
桌子
UserId UserName
55 FirstUser
22 SecondUser
5 ThirdUser
33 FourthUser
我有一个用户名“SecondUser”。
我想将“SecondUser”名称与UserName
列匹配,之后我想得到它的index
.
如何在 SQL Server 中找到index
of ?SecondUser
任何帮助将不胜感激。
谢谢。
User
桌子
UserId UserName
55 FirstUser
22 SecondUser
5 ThirdUser
33 FourthUser
我有一个用户名“SecondUser”。
我想将“SecondUser”名称与UserName
列匹配,之后我想得到它的index
.
如何在 SQL Server 中找到index
of ?SecondUser
任何帮助将不胜感激。
谢谢。
你的问题没有意义....你的索引是什么意思???您可以获取UserId
与您的用户名关联的。但是你说的index是什么意思?SecondUser
在您的情况下,索引是什么?
更新:好的 - 所以你想要一些订购。但是您希望您的数据按什么标准排序?您需要某种列 - 一个ID
列DateTime
-可以在 子句中使用的某些东西。ORDER BY
SQL Server 本身没有任何隐式排序;如果您想进行任何排序(因此该顺序中的“索引”),您必须提供某种列来排序。
如果您确实有一个ID
专栏 - 您可以执行以下操作:
;WITH BaseData AS
(
SELECT
[UserId],
[Index] = ROW_NUMBER() OVER(ORDER BY ID),
UserName
FROM dbo.[User]
)
SELECT *
FROM BaseData
WHERE UserName = 'SecondUser'
以下是示例查询:
select *,
row_number() over (order by (select 0)) as 'Index'
from [user]
注意:此答案仅适用于没有Clustered Index
或表中的情况。如果您的表中有或在任何列上,则在查询时将在主键列或形成聚集索引的列上提供已排序行的输出。Primary Key
[user]
Primary Key
Clustered Index
Select * from [user]