加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – 每20次迭代更新SQL中的行

发布时间:2020-12-11 23:50:01 所属栏目:MySql教程 来源:网络整理
导读:我从the NYC Yellow TaxiCab public dataset开始在Google BigQuery中有一个约100万行的表.从该链接可以看出,架构没有主键.每行代表一次旅行/交易,但没有customer_id字段. 我想添加一列customer_id并向其分发随机数,以便: For rows 1-20,`customer_id` shoul

我从the NYC Yellow TaxiCab public dataset开始在Google BigQuery中有一个约100万行的表.从该链接可以看出,架构没有主键.每行代表一次旅行/交易,但没有customer_id字段.

我想添加一列customer_id并向其分发随机数,以便:

For rows 1-20,`customer_id` should be assigned `1`
For rows 21-40,`customer_id` should be assigned `2`
and so on..

换句话说,我希望表中的确切(和任何)20行具有特定值customer_id. 最佳答案 为每一行分配一个随机id,为每个new_id获取约20行的组:

#standardSQL
SELECT CAST(FLOOR(COUNT(*) OVER()/20*RAND()) AS INT64) new_id,*
FROM (
  SELECT login
  FROM `ghtorrent-bq.ght_2017_04_01.users`
  LIMIT 1000000
)

证明超过一百万行时会生成50,000个“customers_ids”:

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读