根据相同组合bigQuery的出现找出百分比

时间:2016-03-21 09:53:39

标签: google-bigquery

name             id
--------------------
ramesh           1
sonali           1
yash             2
garima           3
dipti            3
vashali          4
karishma         5
ramesh           6
sonali           6
--------------------

output:
name1 with name2 %
--------------------------------
ramesh      sonali      66.66%  
garima      Dipti       16.66%  

1 个答案:

答案 0 :(得分:0)

这是我能得到的最接近的 - 但问题不是很清楚:

SELECT names, 100*ratio percent
FROM (
  SELECT names, COUNT(*) c, FIRST(names_c) names_c, RATIO_TO_REPORT(c) OVER() ratio
  FROM (
    SELECT id, GROUP_CONCAT(UNIQUE(name)) names, COUNT(*) names_c
    FROM 
    (SELECT 1 id, 'ramesh' name),
    (SELECT 1 id, 'sonali' name),
    (SELECT 2 id, 'rash' name),
    (SELECT 3 id, 'garima' name),
    (SELECT 3 id, 'dipti' name),
    (SELECT 4 id, 'vashali' name),
    (SELECT 5 id, 'karishma' name),
    (SELECT 6 id, 'ramesh' name),
    (SELECT 6 id, 'sonali' name),
    GROUP BY 1
  ) 
  GROUP BY names
)
WHERE names_c>1