我有一个关于查询的问题。假设我有一个像这样的表结构。
TABLE_A
Id - Standing - Point
1 null 8
2 null 9
3 null 12
4 null 11
5 null 4
当我按Point列(SELECT * FROM TABLE_A ORDER BY Point DESC)对此表进行排序时,我想根据排序结果更新Standing列以进行更新。排序并将这些值设置为常规列后,我想要的结果是:
TABLE_A
Id - Standing - Point
1 4 8
2 3 9
3 1 12
4 2 11
5 5 4
有可能这样做吗?如果是,怎么样?
提前致谢...
答案 0 :(得分:1)
您可以使用相当神秘的语法执行此操作:
update table_A
set standing = (select cnt
from (select count(*) as cnt
from table_a a2
where a2.point >= table_A.point
)
)
使用嵌套选择只是MySQL中所需的语法约定。