2013-03-23 27 views
0

我有一个关于查询的问题。假设我有这样的表结构。对列进行排序并将结果设置为MySql中的另一列

TABLE_A 
Id - Standing - Point 
1  null  8 
2  null  9 
3  null  12 
4  null  11 
5  null  4 

当我排序列点此表(SELECT * FROM TABLE_A ORDER BY DESC点)根据排序结果,我想更新立柱进行更新。排序和这些值设置为立柱,我希望有结果后是这样的:

TABLE_A 
Id - Standing - Point 
1  4  8 
2  3  9 
3  1  12 
4  2  11 
5  5  4 

是否有可能做到这一点?如果是,如何?

在此先感谢...

+0

通常,您不应该存储可以轻松从其他数据派生的数据。 – Strawberry 2013-03-23 12:16:54

回答

1

您可以用相当神秘的语法做到这一点:

update table_A 
    set standing = (select cnt 
        from (select count(*) as cnt 
          from table_a a2 
          where a2.point >= table_A.point 
         ) 
        ) 

使用嵌套选择的仅仅是在MySQL所需的语法约定。

相关问题