首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL查询-获取当前时间段内已下第一次订单的用户数量

MySQL查询-获取当前时间段内已下第一次订单的用户数量
EN

Stack Overflow用户
提问于 2019-04-17 05:59:56
回答 1查看 1.2K关注 0票数 0

我为用户和他们的订单提供了两个MySQL表,其结构(因问题而简化):

用户表

用户标识

订单表

id

user_id

日期

我需要提出要求,以获得的用户谁下了他们的第一次订单(第一次发票用户计数)在当前期间,例如在当前月份的今年。

我使用这样的请求,假设这个例子是针对“2019年4月”的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    SELECT   count(distinct orders.user_id) AS value
    FROM     orders,
             users
    WHERE    users.userid = orders.user_id
    &&       DATE_FORMAT(orders.date,"%b %Y") = "Apr 2019"
    &&       (
              SELECT DATE_FORMAT(orders.date,"%b %Y") AS firstorderdate 
              FROM orders 
              WHERE orders.user_id = users.userid 
              ORDER BY date ASC LIMIT 1) = "Apr 2019"
             )

在查询的最后部分,我要做的是获得第一个用户订单,并检查它的日期是否位于当前期间(2019年4月)。正如我所看到的,这部分请求是不正确的,因为我们正在检查所有用户,我不知道如何检查当前用户的第一次订单的总体请求。

请帮助正确的MySQL查询,以获得第一次发票用户计数在当前期间(前)。月)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 06:38:10

如果我对你的理解是正确的,你首先需要为每一位客户获得第一批订单。您需要检查他们的第一个订单日期是否在您希望的范围内,并获得与您的标准相匹配的客户数量。

下面是它的样子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select count(orders.user_id) from orders
inner join 
(
    select user_id, min(id) as firstOrderID from orders
    group by user_id
    ) as firstOrders

on orders.id=firstOrders.firstOrderID
where orders.date_ between '2019-04-01' and '2019-04-30'

您可以在这把小提琴中检查它。

对于问题的第二部分,在注释中;您应该在内部查询中进行如下过滤:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select count(orders.user_id) from orders
inner join 
(
    select user_id, min(id) as firstOrderID from orders
  inner join users on users.user_id=orders.user_id
  where users.user_type <> "ihs"
    group by user_id
    ) as firstOrders

on orders.id=firstOrders.firstOrderID
where orders.date_ between '2019-04-01' and '2019-04-30'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55729307

复制
相关文章
ThinkPHP5 (mySQL) 统计各个时间段内的订单量
背景 今天在进行后台数据监控时; 需要对一天24小时的下单量进行时间段的统计; 但是下单时间字段 pay_time 选取的是 timestamp 类型; 此时需要进行时间段的数据分组剥离,在此做一下实现方式,请多指教 … 环境 框架:ThinkPHP5.1.2 系统:nginx/win10 、phpStudy2017 实现方式 1. 首先,考虑到使用的是 group分组技巧; 那么就必须要将 pay_time 中记录的字段数据进行 24时的定位切分; 这里可以用到 substrin
泥豆芽儿 MT
2020/01/13
2K0
ThinkPHP5 (mySQL) 统计各个时间段内的订单量
ClickHouse 如何查询指定时间段内导入的数据
实现ClickHouse 全量和增量的导入和ClickHouse 和迁移ClickHouse
jasong
2021/08/24
5.5K0
ClickHouse 如何查询指定时间段内导入的数据
mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」
mysql获取当前时间的方法:可以通过执行【select now();】语句来获取当前时间。还可以通过执行【select current_timestamp, current_timestamp();】语句来获取。
全栈程序员站长
2022/11/08
14.3K0
mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」
mysql 获取当前的时间戳
三者基本没有区别,稍微一点的区别在于:NOW(),CURRENT_TIMESTAMP()都表示SQL开始执行的时间;SYSDATE()表示执行此SQL时的当前时间
全栈程序员站长
2022/11/10
8.2K0
mysql 获取当前的时间戳
mysql如何获取当前时间
获得当前日期+时间(date + time)函数: select now(); select current_timestamp(); select localtime(); select localtimestamp(); select sysdate(); 设置默认当前时间: CURRENT_TIMESTAMP 获得当前日期(date)函数: curdate()  =  current_date() 获得当前时间(time)函数: curtime()  =  current_time() 获得当前 UT
红目香薰
2022/11/29
6.9K0
mysql 获取当前时间戳_mysql获取毫秒时间戳
使用函数:Now,current_timestamp,unix_timestamp
全栈程序员站长
2022/11/10
17K0
mysql 获取当前时间戳_mysql获取毫秒时间戳
笔记:使用 bash shell 登录 MySQL 并查询指定数据库某个时间段内的数据
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
耕耘实录
2019/12/10
3.2K0
MySQL 多表查询、连接查询(内连接、外连接)
查询的结果是一个二维表,它是students表和classes表的“乘积”,即students表的每一行与classes表的每一行都两两拼在一起返回
Michael阿明
2020/07/13
3.8K0
MySQL 多表查询、连接查询(内连接、外连接)
qsqlquery查询到的数据个数_获取sequence的当前值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
1.4K0
MySQL获取当前时间与日期间隔[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
6.9K0
Sql 根据时间段查询数据
  如果不指定日期也是可以的,默认为1900-1-1.经过测试可用,不知道效率如何。
拓荒者IT
2019/09/26
2.1K0
js获取当前时间的方法_c获取当前时间毫秒
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
21.3K0
js获取当前时间的方法_c获取当前时间毫秒
记一次mysql错误查询
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
DencyCheng
2018/12/27
4970
mysql时间按小时格式化_mysql时间格式化,按时间段查询的MySQL语句[通俗易懂]
下表显示了type和expr参数怎样被关联:type值 含义 期望的expr格式SECOND秒SECONDS
全栈程序员站长
2022/07/28
6.6K0
窗口函数到底有多「神奇」?
实习和秋招笔面试的时候,SQL的考察必不可少,除了题目中会涉及业务背景外,大同小异的,大都考察聚合、表连接、窗口函数,尤以各种各样的窗口函数为重。
数据森麟
2021/01/25
7820
窗口函数到底有多「神奇」?
python获取当前系统的日期_python怎么获取当前系统时间
python获取当前系统时间,包括年月日,时分秒,主要通过Python中的datetime模块来实现。
全栈程序员站长
2022/11/02
6.3K0
python获取当前系统的日期_python怎么获取当前系统时间
Mysql范围查询之两个时间段是否存在交集
在后台会针对商品SKU配置售卖开始时间startTime和售卖结束endTime,现在想做一查询功能在查询框中输入一个查询开始时间和查询结束时间,查询在这段时间范围内售卖的SKU并展示出来,比如现在是12月,之前配置了一个SKU它的售卖时间是10月1日至11月6日,那么输入框中输入9月1日-10月1日、10月1日-11月6日、11月6日至12月1日等,都已查到此配置。
翎野君
2023/05/12
1.9K0
Mysql范围查询之两个时间段是否存在交集
MySQL 获取当前时间的秒级、毫秒级时间戳[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/28
8.1K0
mysql连接查询(左连接,右连接,内连接)
以上就是MySQL 连接查询的资料整理,大家如有疑问可以留言讨论,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
叫我可儿呀
2019/11/30
11.9K0
mysql连接查询(左连接,右连接,内连接)
【说站】MySQL获取当前时间和时间戳
MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS应用软件之一。
很酷的站长
2022/11/24
5.9K0
【说站】MySQL获取当前时间和时间戳

相似问题

在日期范围内获取租赁订单的MySQL查询

12

获取两个日期范围内订单的MySQL查询

24

获取某个时间段内的热门用户MySQL

10

SQL查询以获取时间段内的休假天数

22

获取当前时间,并检查时间是否已超过某个时间段。

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文