Php 如果ORDER BY为1,是否更新字段?

Php 如果ORDER BY为1,是否更新字段?,php,sql-order-by,sql-update,str-replace,Php,Sql Order By,Sql Update,Str Replace,有没有一种可行的方法可以做到这一点: 我想根据地点顺序更新字段“排名” 例如:伪代码 If id order by place = 1 then update rank field to place were id=get id rank place id 1 1 5 PC 2 2 8 MAC 这可能吗 一些RDBMS在查询中有一个ROWNUM伪列,您可以使用它。 您没有指定正在使用的数据库,例如Oracle有此数据库。某些RDBMS在可用于

有没有一种可行的方法可以做到这一点:

我想根据地点顺序更新字段“排名”

例如:伪代码

If id order by place = 1 then update rank field to place were id=get id


 rank place id

  1     1    5   PC
  2     2    8   MAC

这可能吗

一些RDBMS在查询中有一个ROWNUM伪列,您可以使用它。
您没有指定正在使用的数据库,例如Oracle有此数据库。

某些RDBMS在可用于此数据库的查询中具有ROWNUM伪列。 您没有指定正在使用的数据库,例如Oracle有这样的数据库。

类似这样的数据库吗

UPDATE tbl_name
SET rank = 1
WHERE id = (
     SELECT id
     WHERE condition
     ORDER BY place DESC
     LIMIT 1
)
或者从你的评论来看,我认为MySQL:

您始终可以进行选择以检查这些记录是否也是您希望更新的记录:

SELECT *
FROM tbl_name
WHERE id = (
     SELECT id
     WHERE condition
     ORDER BY place DESC
     LIMIT 1
)

像这样的

UPDATE tbl_name
SET rank = 1
WHERE id = (
     SELECT id
     WHERE condition
     ORDER BY place DESC
     LIMIT 1
)
或者从你的评论来看,我认为MySQL:

您始终可以进行选择以检查这些记录是否也是您希望更新的记录:

SELECT *
FROM tbl_name
WHERE id = (
     SELECT id
     WHERE condition
     ORDER BY place DESC
     LIMIT 1
)


请你把你的问题改一下好吗?好的。单击modify按钮后,我希望该表中的字段排名根据ORDER by函数给出的位置进行更新。假设id=9 order by wins-在表中放置10;好的,我希望这10个值被添加到同一个表中该id的“rank”字段中……是吗?不是吗?请您重新表述您的问题好吗?好的。单击modify按钮后,我希望该表中的字段排名根据ORDER by函数给出的位置进行更新。假设id=9 order by wins-在表中放置10;我希望这10个值被添加到同一个表中该id的'rank'字段中……是吗?.不是吗?哦..我使用的是phpmyadmin mysql..它有吗?我不是mysql的超级粉丝,但是一个奇克谷歌搜索发现了这个简单的rownum模拟技巧:从玩家p选择@rownum:=@rownum+1'rank',p.*,选择@rownum:=0r按分数排序descoh..我使用的是phpmyadmin mysql..它有吗?我不是mysql的忠实粉丝,但一次奇克谷歌搜索发现了这个简单的rownum模拟技巧:从玩家p选择@rownum:=@rownum+1'rank',p.*,选择@rownum:=0按分数排序限制1表示它是按wins DESC limit 1排序的,只返回1条记录最后一次赢限制1表示它是按wins DESC limit 1排序的,只返回1条记录最后一次赢