首页 > 解决方案 > 如何根据表数据返回标志值

问题描述

我在 BIG QUERY 中有一个表“emp”,如下所示

在此处输入图像描述

如果我们按所有列或不同的记录分组,那么我们将得到 3 作为计数,如果我们计数(*),那么它将给出 4

我需要编写一个必须返回“1”的查询,如果不同的记录和计数(*)值不相等(在我们的例子中为 3 != 4)否则“0”作为标志,如下所示

谢谢! 在此处输入图像描述

标签: sqlgoogle-bigquery

解决方案


以下是 BigQuery 标准 SQL

#standardSQL
SELECT IF(COUNT(*) = COUNT(DISTINCT FORMAT('%t', t)), 0, 1) AS flag
FROM `project.dataset.emp` t   

如果适用于您的问题的样本数据 - 结果是

Row flag     
1   1    

推荐阅读