微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 获取查询的行号

我有一个将返回一行的查询.有什么办法可以在表格排序时找到我要查询的行的行索引吗?

我已经尝试过rowid但是当我期待排第7行时得到#582.

例如:

CategoryID  Name            
    I9GDS720K4  CatA
    LPQTOR25XR  CatB
    EOQ215FT5_  CatC
    K2OCS31WTM  CatD
    JV5FIYY4XC  CatE
--> C_L7761O2U  CatF <-- I want this row (#5)
    OU3XC6T19K  CatG
    L9YKCYAYMG  CatH
    XKWMQ7HREG  CatI

我尝试过rowid意外的结果:

SELECT rowid FROM Categories WHERE CategoryID = 'C_L7761O2U ORDER BY Name

编辑:我也尝试过J Cooper的建议(如下),但行数不正确.

using (var cmd = conn.CreateCommand()) {
        cmd.CommandText = string.Format(@"SELECT (SELECT COUNT(*) FROM Recipes AS t2             WHERE t2.RecipeID <= t1.RecipeID) AS row_Num 
                FROM Recipes AS t1 
                WHERE RecipeID = 'FB3XSAXRWD'
                ORDER BY Name";
        cmd.Parameters.AddWithValue("@recipeId",id);
        idx = Convert.ToInt32(cmd.ExecuteScalar());

解决方法

这是一种在sqlite中获取行号的方法
SELECT CategoryID,Name,(SELECT COUNT(*)
        FROM mytable AS t2
        WHERE t2.Name <= t1.Name) AS row_Num
FROM mytable AS t1
ORDER BY Name,CategoryID;

原文地址:https://www.jb51.cc/mssql/76405.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐