使用SQL查找在7月首次下订单的客户

Hitesh

我有一个带有列名称的表:

order_id (bigint), 
user_id(bigint) , 
team_leader (text), 
processing_at (date). 

我想查找July首次订购的客户数量,即他们之前没有下订单July我正在学习MySQL有人可以帮我解决这个问题吗?

表有73159行。

蒂姆·比格莱森(Tim Biegeleisen)

您可以尝试:

SELECT COUNT(DISTINCT user_id)
FROM yourTable t1
WHERE processing_at >= '2021-07-01' AND processing_at < '2021-08-01' AND
      NOT EXISTS (SELECT 1 FROM yourTable t2
                  WHERE t2.user_id = t1.user_id AND
                        t2.processing_at < '2021-07-01');

上面的查询计算的是在2021年7月这一月下了任何订单的不重复用户的数量。该7月份的订单为第一订单的条件是由存在逻辑强制执行的,该条件断言我们无法在以下位置为该用户找到任何订单比七月早一个月。

编辑:

关于性能,上述查询可能受益于以下复合索引:

CREATE INDEX idx ON yourTable (processing_at, user_id);

如果使用此索引,它将涵盖这两个WHERE子句以及外部SELECT子句。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Fedora 25首次DNS查找超时

来自分类Dev

子查询以查找已下订单的客户

来自分类Dev

SQL-如何编写select语句来查找连续5天下订单的客户

来自分类Dev

SQL Server-查找已下两种订单的所有客户

来自分类Dev

SQL-查找每个客户的订单总数

来自分类Dev

SQL Server 2005:查找一年不下订单的客户

来自分类Dev

Oracle Sql Query获取最近下订单的客户列表

来自分类Dev

使用客户名称在我的字典中查找订单

来自分类Dev

Windows 10首次对话框是什么?

来自分类Dev

IdentityServer4首次验收测试

来自分类Dev

SQL客户订单列表

来自分类Dev

查找未导出任何订单的客户

来自分类Dev

查找每个客户的订单数

来自分类Dev

SQL:为第n个客户查找第n个订单

来自分类Dev

在示例中使用子查询(使用条件查找来自客户的所有订单)

来自分类Dev

在示例中使用子查询(使用条件查找来自客户的所有订单)

来自分类Dev

(Oracle SQL) 如何显示两年内下订单的客户信息?

来自分类Dev

Django开发服务器1.6首次启动时未启动

来自分类Dev

使用 JPA 查找订单的总价

来自分类Dev

具有订单日期范围的SQL客户订单查询

来自分类Dev

具有订单日期范围的SQL客户订单查询

来自分类Dev

MySQL查找首次未购买的客户的交易(付款)

来自分类Dev

在客户数据中查找首次购买的月份

来自分类Dev

SQL:每个客户的最高订单中心

来自分类Dev

在SQL中查找首次发生的事件

来自分类Dev

如何从单个表中查找订单大于X的客户

来自分类Dev

Rails查找所有有1个订单的客户

来自分类Dev

查找使用SQL切换到其就医地点的客户

来自分类Dev

MS Access查找具有上一年订单但没有今年订单的客户

Related 相关文章

热门标签

归档