代码之家  ›  专栏  ›  技术社区  ›  Question

如何在sqlite中对表中的行进行排序?

  •  0
  • Question  · 技术社区  · 7 年前

    如何创建基于两个或三个键对表信息进行排序的列? 例如,在此表中,秩变量基于部门和名称:

    Dep | Name | Rank 
    ----+------+------
     1  | Jeff |  1
     1  | Jeff |  2
     1  | Paul |  1
     2  | Nick |  1
     2  | Nick |  2
    

    this solution

    1 回复  |  直到 7 年前
        1
  •  1
  •   CL.    7 年前

    UPDATE MyTable
    SET Rank = (SELECT COUNT(*)
                FROM MyTable AS T2
                WHERE T2.Dep    = MyTable.Dep
                  AND T2.Name   = MyTable.Name
                  AND T2.rowid <= MyTable.rowid);
    

    (The rowid 列用于区分其他相同行。如果有主键,请使用主键。)