【问题标题】:How to add a new column in SQL table and fill it with random values across the rows?如何在 SQL 表中添加一个新列并用跨行的随机值填充它?
【发布时间】:2022-11-16 12:33:34
【问题描述】:

如何向现有 SQL 数据库表中添加一列,并添加随机值?

假设我有一个包含几列的表,但想添加一个额外的列,并进一步想要随机正整数。

SELECT id, views, name
FROM buysell_product
WHERE views >= 30
ORDER BY views DESC

输出

id  views   name
3   72  Excellent Hyundai creta sx doctor used with financ
2   41  Excellent 2013 ford ecosport taitanium pushstar (Ford)
5   39  iPhone 11 128gb with vat & insurance
9   37  Volkswagen Polo 1.2 GT AMT 2017
57  35  Iphone 13 and 14
44  34  Usupso Massage Anti Skid Slippers-Size 40/41

在上表中,我想添加一个新列random_views,并进一步想为每一行记下随机值。

【问题讨论】:

    标签: mysql sql database sqlite sql-update


    【解决方案1】:

    带有表 buysell_product 的原始 SQL DB

    SELECT id, views, name
    FROM buysell_product
    WHERE views >= 30
    ORDER BY views DESC
    

    输出

    id  views   name
    3   72  Excellent Hyundai creta 
    2   41  Excellent 2013 ford 
    5   39  iPhone 11 128gb 
    9   37  Volkswagen Polo 1.2 GT AMT 2017
    57  35  Iphone 13 and 14
    44  34  Usupso Massage Anti Skid Slippers
    

    添加新列在表上使用ALTER方法
    ADD COLUMN 添加一个名为random_views 的新列

    ALTER TABLE buysell_product 
    ADD COLUMN random_views;
    

    现在使用UPDATE更新表格
    SET 为新列设置值,
    我添加的值是 1 到 100 之间的正整数

    UPDATE buysell_product 
    SET random_views = abs(random()) % (100) + 1
    

    现在查看更新后的表

    SELECT id, views, random_views, name
    FROM buysell_product
    WHERE random_views >= 50
    ORDER BY random_views DESC
    

    输出

    id  page_views  random_views    name
    54  7   98  Fully Furnished Office Space Available
    8   19  97  Nissan magnite
    47  28  92  Ortega Guitars Ukulele, Right - Rufire
    9   37  91  Volkswagen Polo 1.2 GT AMT 2017
    53  12  91  Scorpio
    51  19  86  Thrift Earrings
    44  34  79  Usupso Massage Anti Skid Slippers
    7   12  77  Excellent Hyundai creta 
    56  6   75  Samsung S22
    46  13  70  Meditating Smoke Ganesha Fountain
    60  24  70  Headphone
    58  11  68  Vector X exercise ball
    5   39  67  iPhone 11 128gb 
    67  15  67  Universal Touch Screen Capacitive Stylus
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多