如何为现有表添加random_views列并填充随机正整数?
如何向现有表中添加列并插入随机正整数?
你提供的现有查询:
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列并插入随机正整数,按以下步骤操作:
1. 添加新列
首先使用ALTER TABLE语句在表中添加整数类型的random_views列:
ALTER TABLE buysell_product ADD COLUMN random_views INT;
2. 插入随机正整数
根据你使用的数据库类型,选择对应的更新语句,以下示例生成1到100之间的随机数,你可以调整数值范围:
MySQL/MariaDB
-- 更新所有行 UPDATE buysell_product SET random_views = FLOOR(RAND() * 100) + 1; -- 仅更新views >=30的行 UPDATE buysell_product SET random_views = FLOOR(RAND() * 100) + 1 WHERE views >= 30;
PostgreSQL
-- 更新所有行 UPDATE buysell_product SET random_views = FLOOR(RANDOM() * 100) + 1; -- 仅更新views >=30的行 UPDATE buysell_product SET random_views = FLOOR(RANDOM() * 100) + 1 WHERE views >= 30;
SQL Server
注意:SQL Server中RAND()在批量更新时会生成相同值,需要配合NEWID()确保每行随机值不同:
-- 更新所有行 UPDATE buysell_product SET random_views = FLOOR(RAND(CHECKSUM(NEWID())) * 100) + 1; -- 仅更新views >=30的行 UPDATE buysell_product SET random_views = FLOOR(RAND(CHECKSUM(NEWID())) * 100) + 1 WHERE views >= 30;
3. 验证结果
执行以下查询查看添加后的列数据:
SELECT id, views, name, random_views FROM buysell_product WHERE views >= 30 ORDER BY views DESC;
内容的提问来源于stack exchange,提问作者everestial
相关产品推荐
相关产品推荐

