【问题标题】:UPDATE based on DISTINCT in same tableUPDATE 基于同一张表中的 DISTINCT
【发布时间】:2014-06-21 16:26:48
【问题描述】:

在我的 MySQL 表中,number 字段中有 192 行具有相同值,值为 548。

我需要用 MySQL 中的 rand 函数计算的新值更新这 192 行。

每一行应该有一个随机计算的不同值。

我尝试了这个解决方案,但在更新中我仍然重复了具有相同值的行...

UPDATE `tbl`
SET number = FLOOR(100 +(RAND() * 150))
WHERE
    EXISTS (SELECT DISTINCT number)
AND number = 548;

【问题讨论】:

    标签: mysql


    【解决方案1】:
    update tbl set number = FLOOR(100 +(RAND() * 150)) where number = 548;
    

    无需检查号码并运行DISTINCT。如果 number 不存在,它只会更新任何内容。

    SQLFiddle Demo

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2015-09-02
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多