sql - 将多个简单查询转换为一个?
问题描述
我是 SQL 新手,所以必须像我 5 岁一样解释事情。我试图弄清楚有多少人执行了“点击了解更多”事件,然后继续执行“设置试用状态”事件。我正在使用 Postgres,所以AND payload->>'status' = true
我遗漏了一个额外的内容来简化它。本质上,我需要将以下伪查询转换为功能单一的查询。
SELECT DISTINCT booking_id
FROM venue_events
WHERE name = 'clicked learn more'`;
SELECT count(*)
FROM venue_events
WHERE booking = booking_id AND name = 'set trial status' AND payload->>'status' = true;
我怎样才能把它变成一个基本上单一的 SQL 查询,第二个使用第一个中的 booking_ids
下面是表格中的数据。
解决方案
SELECT count(*)
FROM venue_events
WHERE name = 'set trial status'
AND booking_id IN
(
SELECT DISTINCT booking_id
FROM venue_events
WHERE name = 'clicked learn more'
)
AND payload->>'status' = true;
推荐阅读
- reactjs - 如何在安全端口上运行 reactjs?
- html - Bootstrap 4导航栏无法向右移动项目
- python - Keras 中的自定义损失函数,以掩码数组作为输入
- r - 使用每隔一行的跳过功能逐行读取 txt 文件,并使用 R 将输出保存为数据帧
- json - Swift cli 应用简单 http 获取 JSON
- android - 如何使用 volley 的 POST 方法在 RecyclerView 中实现加载更多?
- sendgrid - 我应该如何使用 From: 我的 B2B SaaS 客户的地址发送电子邮件?
- django - Django 单元测试 - API 调用大大减慢了测试,优化或重写?
- c++ - 重写比较运算符会带来哪些重大变化?
- excel - VBA - 通过现有列表复制工作表直到列表末尾