Google bigquery 要知道哪个时段有很多记录

Google bigquery 要知道哪个时段有很多记录,google-bigquery,Google Bigquery,我有如下表格。 时间段的条件为0到6、7到12、13到18 是否有任何单个查询来获取此输出 sellingMaterial sellingTime SAMSUNG 2 SAMSUNG 4 SAMSUNG 3 NOKIA 5 NOKIA 13 NOKIA 10 APPLE 12 APPLE

我有如下表格。
时间段的条件为0到6、7到12、13到18
是否有任何单个查询来获取此输出

sellingMaterial sellingTime SAMSUNG 2 SAMSUNG 4 SAMSUNG 3 NOKIA 5 NOKIA 13 NOKIA 10 APPLE 12 APPLE 7 APPLE 15 Expected output is Time Period sellingMaterial 0 to 6 SAMSUNG 销售材料销售时间 三星2 三星4 三星3 诺基亚5 诺基亚13 诺基亚10 苹果12 苹果7 苹果15 预期产量为 时间段销售材料
0到6三星以下是BigQuery标准SQL

#standardSQL
SELECT start, finish,
  STRING_AGG(
    CONCAT(sellingMaterial, ':', CAST(volume AS STRING)) 
    ORDER BY volume DESC, sellingMaterial
  ) sellingMaterial
FROM (
  SELECT start, finish, sellingMaterial, COUNT(1) volume
  FROM `project.dataset.conditions` c
  JOIN `project.dataset.table` t
  ON sellingTime BETWEEN start AND finish
  GROUP BY start, finish, sellingMaterial
)
GROUP BY start, finish
您可以使用问题中的样本数据测试、播放上述内容,如下例所示

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'SAMSUNG' sellingMaterial, 2 sellingTime UNION ALL
  SELECT 'SAMSUNG', 4 UNION ALL
  SELECT 'SAMSUNG', 3 UNION ALL
  SELECT 'NOKIA', 5 UNION ALL
  SELECT 'NOKIA', 13 UNION ALL
  SELECT 'NOKIA', 10 UNION ALL
  SELECT 'APPLE', 12 UNION ALL
  SELECT 'APPLE', 7 UNION ALL
  SELECT 'APPLE', 15 
), `project.dataset.conditions` AS (
  SELECT 0 start, 6 finish UNION ALL
  SELECT 7, 12 UNION ALL
  SELECT 13, 18 
)
SELECT start, finish,
  STRING_AGG(
    CONCAT(sellingMaterial, ':', CAST(volume AS STRING)) 
    ORDER BY volume DESC, sellingMaterial
  ) sellingMaterial
FROM (
  SELECT start, finish, sellingMaterial, COUNT(1) volume
  FROM `project.dataset.conditions` c
  JOIN `project.dataset.table` t
  ON sellingTime BETWEEN start AND finish
  GROUP BY start, finish, sellingMaterial
)
GROUP BY start, finish
-- ORDER BY start   
结果

Row start   finish  sellingMaterial  
1   0       6       SAMSUNG:3,NOKIA:1    
2   7       12      APPLE:2,NOKIA:1  
3   13      18      APPLE:1,NOKIA:1     
我想知道哪个时间有最多的唱片[销售资料]

结果

Row start   finish  sellingMaterial  
1   0       6       SAMSUNG  

当然可以。但是你自己试过什么吗?请先显示您的努力:o)否则您有很好的机会,因为我在BigQuery中尝试了以下查询。通过sellingTime在0和6之间、sellingTime在7和12之间、sellingTime在13和18之间选择sellingTime、sellingMaterial FROM kali.material group,但我得到以下错误。(L4:15):分组中([sellingTime],0,6)之间的表达式无效,请参见我的答案。同时,请将您尝试的查询信息和错误一起移动到问题本身中,您可以使用问题下方的编辑链接来完成!我想知道什么时候有很多记录。上面的查询显示所有记录。按多-你是指大多数?从你的问题上看,这并不清楚——我是说,你的眼睛是最清楚的
Row start   finish  sellingMaterial  
1   0       6       SAMSUNG