Google bigquery 我正在寻找访问过这两个地点(圣克拉拉、米尔皮塔斯)的客户

Google bigquery 我正在寻找访问过这两个地点(圣克拉拉、米尔皮塔斯)的客户,google-bigquery,Google Bigquery,我有客户表,它包含- Customer_ID Location Store_Entry 1 Milpitas 2019-10-01 2 Santa Clara 2019-10-01 3 Sunnyvale 2019-10-01 2 Santa Clara 2019-10-01 1 Sunnyvale 20

我有客户表,它包含-

Customer_ID     Location     Store_Entry
1               Milpitas      2019-10-01
2               Santa Clara   2019-10-01  
3               Sunnyvale     2019-10-01
2               Santa Clara   2019-10-01
1               Sunnyvale     2019-10-01
2               Milpitas      2019-10-01
输出应为-Customer_ID=2

我的问题是-

SELECT Location,COUNT(Customer_ID) AS TOTAL_CUS
FROM `Customer`
WHERE Location IN ('Santa Clara','Milpitas')
GROUP BY 1
HAVING COUNT(Customer_Id)= 2
我的输出是-

Location   TOTAL_CUS
Santa Clara  2
Milpitas     2
访问这两个地点(圣克拉拉、米尔皮塔斯)的客户

下面是BigQuery标准SQL

#standardSQL
SELECT Customer_ID
FROM `project.dataset.Customer` 
WHERE Location IN ('Santa Clara', 'Milpitas')
GROUP BY 1
HAVING COUNT(DISTINCT Location) = 2

您已经用三种不同的数据库系统对此进行了标记。你到底在用哪一个?提问并展示你已经尝试过的。太棒了,谢谢你,米哈伊尔。。。只是qq。。最后一部分让我很困惑,为什么我们说位置=2?为什么不说Location=1或3之类的?任何形式的指导都是非常有用的!Thanks 2表示您正在寻找同时访问过不同地点(“圣克拉拉”和“米尔皮塔斯”)的客户。因此,
=2
太好了。。所以,如果我们要寻找三个位置,这意味着我们可以使用location=3,对吗?再次感谢!对你是对的。如果有帮助,考虑投票和接受