MYSQL - 查询组合

时间:2014-09-03 13:59:48

标签: mysql

我有一张有这个cols的表:

id,name和isWinner

我想选择一个随机获胜者,并使用isWinner将所选行标记为获胜者。我使用此sql查询选择获胜者

SELECT * FROM table WHERE isWinner = '0' ORDER BY RAND() LIMIT 1;

如何为选定的获胜者更新isWinner字段? 如何为其他0的cols设置isWinner?

2 个答案:

答案 0 :(得分:0)

如果我理解您的问题,要更新isWinner的值,您必须这样做:

`UPDATE table SET isWinner='1' WHERE id='X'`

X是" id"的值您从SELECT查询中检索。

说实话,我不明白第二个问题。

答案 1 :(得分:0)

这对我来说很有用:

update table set isWinner = 1 where id in 
(SELECT t.x from (SELECT id x FROM table 
WHERE isWinner = 0 ORDER BY RAND() LIMIT 1) t);