sql - 选择 bigquery 中除一列以外的所有列

标签 sql google-bigquery

我想排除计数以删除以下查询中的重复项

SELECT *, count(1) as count except (count)
  FROM PRD.sites  
  group by site,id ,site_desc,timestamp
  having count(1) < 2

但在 [1:29] 出现错误 Unexpected keyword EXCEPT。 我正在使用标准 SQL

最佳答案

你可以试试下面

select * except(count)
from
(
  SELECT *, count(1) as count 
  FROM PRD.sites  
  group by site,id ,site_desc,timestamp
  having count(1) < 2
)X

或者您可以使用 row_number() 查找重复项

SELECT * except(rn)
FROM (
  SELECT
      *,
      ROW_NUMBER()
          OVER (PARTITION BY site,id ,site_desc,timestamp) as rn
  FROM FROM PRD.sites
)
WHERE rn= 1

关于sql - 选择 bigquery 中除一列以外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001825/

相关文章:

sql - 将文本字段中的时间值与当前时间进行比较

sql - 如何透视下一个 ROW_NUMBER()

google-cloud-platform - 同一项目中的不同用户是否可以拥有不同的 BigQuery 配额?

google-bigquery - 如何跳过 BIGQUERY 加载 API 中的 csv 文件行

python - 无法使用 BigQuery Python API 设置目标表

mysql - mySql 查询中的 If 语句

sql - 找到第一个结果时短路 UNION 查询

mysql - 使用许多连接优化 SQL 查询

google-bigquery - 从数据流插入BigQuery之前先验证行

google-bigquery - BigQuery View 可以引用来自不同数据集/项目的其他表和 View 吗?