【问题标题】:How to select distinct values (more than one value) in bigquery?如何在 bigquery 中选择不同的值(多个值)?
【发布时间】:2021-01-13 10:20:10
【问题描述】:

我必须进行查询,从数据库中获取唯一值的数量。在这个数据库中(工作类型)。在“工作”列中,有诸如“医生、律师”或“护理人员、银行家、教师”之类的字符串。当我进行查询时:

选择不同的职位 FROM Type_Of_Jobs

我得到了一些只包含 one 字符串的行,但我需要组合(所以不仅仅是一个值),并且我需要能够返回这些唯一组合中的 # 个。如何在 bigquery 中执行此操作?谢谢!

【问题讨论】:

  • 为了更好地阐明问题,我的建议是包括一个示例,说明您的数据集是如何制作的以及所需的结果。
  • 不清楚您想要期待什么。你要数的“组合”是什么?
  • @Helen 。 . .我既不明白为什么你的问题会被否决,也不明白为什么我的回答会被否决。

标签: sql google-bigquery


【解决方案1】:

您是按原样寻找每个作业字符串组合的简单计数,还是希望将每个组合拆分为单个作业和单个作业的不同计数?

对于每个作业字符串的组合,原样:

SELECT jobs, count(*) count
FROM Type_Of_Jobs
group by jobs

有关单个工作的不同计数,请查看 Gordon 的答案。

【讨论】:

    【解决方案2】:

    使用split()unnest()

    select job, count(*)
    from type_of_jobs tj cross join
         unnest(split(jobs, ',')) job
    group by job;
    

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 2011-02-16
      相关资源
      最近更新 更多