Sql 为bigquery中的重复行编号

Sql 为bigquery中的重复行编号,sql,google-bigquery,Sql,Google Bigquery,我试图对a列和b列相匹配的行进行编号,以及它们何时再次出现,而不考虑日期 数据集如下所示,我需要行数列: 骑手 司机 日期 行号 吉姆 乔 2020-10-20 1. 吉姆 乔 2020-10-28 2. 吉姆 杰克 2020-10-29 1. 吉姆 乔 2020-10-31 3. 厕所 简 2020-10-29 1. 厕所 简 2020-10-31 2. Row_number()实际上就是您要查找的内容 WITH data as ( SELECT "jim" as rid

我试图对a列和b列相匹配的行进行编号,以及它们何时再次出现,而不考虑日期

数据集如下所示,我需要行数列:

骑手 司机 日期 行号 吉姆 乔 2020-10-20 1. 吉姆 乔 2020-10-28 2. 吉姆 杰克 2020-10-29 1. 吉姆 乔 2020-10-31 3. 厕所 简 2020-10-29 1. 厕所 简 2020-10-31 2. Row_number()实际上就是您要查找的内容

WITH data as (

SELECT "jim" as rider, "joe" as driver, "2020-10-20" as date UNION ALL
SELECT "jim", "joe", "2020-10-28" UNION ALL
SELECT "jim", "jack" , "2020-10-29" UNION ALL
SELECT "jim", "joe","2020-10-31" UNION ALL
SELECT "john", "jane", "2020-10-29"  UNION ALL
SELECT "john", "jane", "2020-10-31" )

SELECT 
  rider, driver, date, 
  ROW_NUMBER() OVER (partition by rider, driver) as row_number
FROM data
ORDER by rider, driver
Row_number()实际上就是您要查找的内容

WITH data as (

SELECT "jim" as rider, "joe" as driver, "2020-10-20" as date UNION ALL
SELECT "jim", "joe", "2020-10-28" UNION ALL
SELECT "jim", "jack" , "2020-10-29" UNION ALL
SELECT "jim", "joe","2020-10-31" UNION ALL
SELECT "john", "jane", "2020-10-29"  UNION ALL
SELECT "john", "jane", "2020-10-31" )

SELECT 
  rider, driver, date, 
  ROW_NUMBER() OVER (partition by rider, driver) as row_number
FROM data
ORDER by rider, driver

考虑以下内容-通常编号与某些特定顺序紧密结合,在您的情况下,这些顺序由数据明确定义-因此我确实认为在窗口定义中按排序很重要

select *, 
  row_number() over win as row_number
from `project.dataset.table`
window win as (partition by rider, driver order by date)

考虑以下内容-通常编号与某些特定顺序紧密结合,在您的情况下,这些顺序由数据明确定义-因此我确实认为在窗口定义中按排序很重要

select *, 
  row_number() over win as row_number
from `project.dataset.table`
window win as (partition by rider, driver order by date)

为什么你认为
row\u number()
不起作用?不确定如何诚实地使用它:/I认为row\u number()是答案,但我不确定我应该在括号中说明它是哪一列。为什么你认为
row\u number()
不起作用?不确定如何诚实地使用它:/I认为row\u number()是答案,但我不确定应该用括号按顺序说明哪列