Google bigquery Bigquery unnest最小行数

Google bigquery Bigquery unnest最小行数,google-bigquery,unnest,Google Bigquery,Unnest,我正试图写一个不必要的查询和限制。当我使用unnest时,它会为其他列提供重复的条目,这是意料之中的,但是有没有一种方法可以指定我希望某个特定列至少有10条唯一记录 这是我的示例数据和查询 food.id STRING NULLABLE food.basket.id STRING NULLABLE food.foodType STRING NULLABLE food.price

我正试图写一个不必要的查询和限制。当我使用unnest时,它会为其他列提供重复的条目,这是意料之中的,但是有没有一种方法可以指定我希望某个特定列至少有10条唯一记录

这是我的示例数据和查询

food.id                     STRING  NULLABLE    
food.basket.id              STRING  NULLABLE
food.foodType               STRING  NULLABLE
food.price                  INTEGER NULLABLE    
food.printed                BOOLEAN NULLABLE    
food.variations             RECORD  REPEATED    
food.variations.id          INTEGER REPEATED    
food.variations.amount      INTEGER NULLABLE
样本数据

id     basket.id.    foodType.    price.    printed.    variations.id      variations.amount
1.      abbcd.         JUNK.       100.       TRUE.        1234.            10
                                                           2345.            20
2.      cdefg.         PIZZA.      200.       TRUE.        1234.            10
                                                           2345.            20
                                                           5678.            20
                                                           7816.            40
3.      pqrst.         JUNK.       200.       FALSE.       1234.            10
                                                           2345.            20
                                                           5678.            20
                                                           7816.            40
4.      uiwka.         TOAST.      500.       FALSE.       1234.            10
                                                           9898.            20
                                                           5678.            20
                                                           7816.            40
这是我的示例查询:

select basket.id as bId, foodType, price, printed, v.id as vId, v.amount as vAmount from my_table_name left join UNNEST (variations) as v limit 10;
结果是:

id       bId.        foodType.    price.    printed.       vId.           vAmount
1.      abbcd.         JUNK.       100.       TRUE.        1234.            10
2.      abbcd.         JUNK.       100.       TRUE.        2345.            20
3.      cdefg.         PIZZA.      200.       TRUE.        1234.            10
4.      cdefg.         PIZZA.      200.       TRUE.        2345.            20
5.      cdefg.         PIZZA.      200.       TRUE.        5678.            20
6.      cdefg.         PIZZA.      200.       TRUE.        7816.            40
7.      pqrst.         JUNK.       200.       FALSE.       1234.            10
8.      pqrst.         JUNK.       200.       FALSE.       2345.            20
9.      pqrst.         JUNK.       200.       FALSE.       5678.            20
10.     pqrst.         JUNK.       200.       FALSE.       7816.            40
因此,现在我与bId
uiwka
的行丢失了。
因此,我试图写一个查询,这将给我一个对我得到的唯一出价的数量限制

您只需将
限制向上移动一点即可-如下例所示

#standardSQL
SELECT 
  basket.id AS bId, 
  foodType, price, 
  printed, 
  v.id AS vId, 
  v.amount AS vAmount 
FROM (SELECT * FROM `project.dataset.table` LIMIT 10)
LEFT JOIN UNNEST (variations) AS v 

您只需将
LIMIT
向上移动一点,如下例所示

#standardSQL
SELECT 
  basket.id AS bId, 
  foodType, price, 
  printed, 
  v.id AS vId, 
  v.amount AS vAmount 
FROM (SELECT * FROM `project.dataset.table` LIMIT 10)
LEFT JOIN UNNEST (variations) AS v 

非常感谢您的回答。:)非常感谢您的回答。:)