统计表中的记录并显示特定值的行号

时间:2019-04-03 10:59:52

标签: sql tsql

我正在寻找值在结果集中的位置以及该结果集中的总数。

在下面的示例中,ID-101是3个记录的集合的一部分,位于该集合中的位置#2。

tblData

ID     Type  Order   
100    P     1       
101    P     2       
102    P     3       

结果

cntRec    intPos
3         2

示例2
在下面的示例中,ID-101是3个记录的集合的一部分,顺序(由用户)更改,并且位于该集合中的位置#1。

tblData

ID     Type  Order   
100    P     3       
101    P     1       
102    P     2       

结果

cntRec    intPos
3         1

2 个答案:

答案 0 :(得分:1)

这是您想要的吗?

select count(*) as cntrec,
       sum(case when id <= 101 then 1 else 0 end) as intpos
from t;

答案 1 :(得分:1)

请使用窗口功能查找查询:

   protected void LoginUser_LoggedIn(object sender, EventArgs e)
{
    string error = "";
    string User_Name = LoginUser.UserName.ToString();

    if (Common.Is_Inactive_User(User_Name, ref error) || error != "")
        FormsAuthentication.SignOut();
        Roles.DeleteCookie();
        Session.Clear();

}

Demo on db<>fiddle