【问题标题】:Update column by picking a random element of given set - MySQL通过选择给定集合的随机元素更新列 - MySQL
【发布时间】:2015-01-29 10:30:10
【问题描述】:

我有一个这样的查询:

UPDATE cars SET color = "random-element"

其中随机元素是从一组中随机挑选出来的,比如
{red, blue, green, orange, Teal, shit,violet, black}

我想用其中一种颜色更新每一行的颜色。

【问题讨论】:

  • @juergen 即使在缩进 4 个空格后,我也无法像这样格式化问题。 ://
  • 代码前需要一个空行。
  • 哦.. 没错。谢谢。解决方案好运吗?

标签: mysql


【解决方案1】:
update cars
join
(
  select id from cars
  cross join 
  ( 
    select 'red' as c
    union all 
    select 'blue'
    union all
    select 'green'
  ) colors
  order by rand()
) tmp on cars.id = tmp.id
set color = tmp.c

【讨论】:

  • 我看到这个错误:错误代码:1221。UPDATE 和 ORDER BY 的使用不正确
猜你喜欢
  • 2010-09-12
  • 1970-01-01
  • 2021-12-30
  • 2019-08-13
  • 2013-04-07
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
相关资源
最近更新 更多