【问题标题】:Find If Record Exists From SQL Query Results In Rest of Data从其余数据中的 SQL 查询结果中查找记录是否存在
【发布时间】:2023-01-11 04:40:40
【问题描述】:

我有一份客户名单,想知道这些客户是否在我们存储每次销售的 GCLID 时没有通过 Google Ads 点击就回来购买了。

例如,如果客户在 10 月点击广告并购买,他们是否直接返回网站并购买,因此该列中不会有 GCLID 值。

这是我运行的 SQL 查询,用于计算客户回来和购买的总次数,但如果他们在数据库中但没有 GCLID 值,我也希望有一种方法可以通过电话号码进行跟踪。

SELECT Phone, COUNT(Phone) as phones, FROM `customer-data.customer_data.all`  WHERE LENGTH(Gclid) > 55 AND Time BETWEEN "2022-01-01 00:00:00" and "2023-01-01 00:00:00" GROUP BY Phone HAVING COUNT(Phone) > 0 ORDER BY phones DESC

【问题讨论】:

  • 请为您的表格添加示例数据。

标签: sql google-cloud-platform qsqlquery


【解决方案1】:

您可以使用以下查询来查找购买了两次或更多次并且没有 GCLID 值的所有客户。

WITH duplicates AS (
    SELECT Phone, COUNT(Phone) as phones
    FROM `customer-data.customer_data.all`
    WHERE LENGTH(Gclid) = 0 
    AND Time BETWEEN "2022-01-01 00:00:00" and "2023-01-01 00:00:00"
    GROUP BY Phone
    HAVING COUNT(Phone) > 1

)

然后您可以使用电话列将上述子查询与您的原始查询联接起来。

SELECT Phone, COUNT(Phone) as phones
FROM `customer-data.customer_data.all`
WHERE (LENGTH(Gclid) > 55 OR Phone IN (SELECT Phone FROM duplicates))
AND Time BETWEEN "2022-01-01 00:00:00" and "2023-01-01 00:00:00"
GROUP BY Phone
HAVING COUNT(Phone) > 0
ORDER BY phones DESC

此查询将返回 GCLID 值超过 55 个字符的客户,以及返回购买时没有 GCLID 值的客户。

【讨论】:

  • 感谢您的帮助!然而,我们有多个流量来源,当我运行它时,我得到了很多无效的记录。也许换一种方式解释,我想看看数据库中是否有任何用户具有 GCLID 值,并且这些相同的用户(通过电话号码)通过其他方式再次购买。第一条记录不一定要有 GCLID,但在某些时候它们可能是通过 Google Ads 点击进入的,后来可能是通过直接链接或其他方式购买的
  • 明白了,更新了请现在看看并告诉我:)
猜你喜欢
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多