我有一个包含两列且记录很多的数据库,从这两列中我必须做一些数学运算并创建另外两列。

现在我确实是这样的:

  • 我进行了SELECT并读取了两列,并将所有内容都放入了
  • 列表中
  • 然后我遍历列表并逐行更新表

  • 您认为有更快的方法吗?我也这样尝试过:
    UPDATE myTable SET X_GAUSS = (SELECT X FROM myTable ) + 1, Y_GAUSS = (SELECT Y FROM myTable) + 2
    

    (这只是一个例子)

    但是通过这种方式,新列的每一行都与之前的行相同,而我想要的是:
    X  Y  X_GAUSS Y_GAUSS
    1  2  2       4
    3  4  4       6
    5  6  6       8
    ...
    

    最佳答案

    SELECT X FROM myTable这样的子查询返回表的第一行。

    您可以直接直接访问同一行的列:

    UPDATE myTable
    SET X_GAUSS = X + 1,
        Y_GAUSS = Y + 2;
    

    关于sql - 使用SQLite从另一列更新一列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32505423/

    10-10 00:31
    查看更多