- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SQL Workbench。
cust_num date notes
1234 2016-02-01 advice
1234 2016-02-01 something else
1234 2016-02-02 order
1234 2016-02-03 order
4421 2016-02-15 advice
4421 2016-02-17 order
4421 2016-02-18 something else
4421 2016-02-24 order
我知道上面的内容有点不清楚,但基本上,上表中有 3 列。一项显示 customer_num(客户编号),一项显示日期,一项显示注释字段。根据上面的内容,我想执行两个查询。我对此很陌生,所以我希望这是清楚的。我正在使用 SQL 工作台。
i) 我想统计收到建议后 4 天内下订单的 DISTINCT 'customer_num' 数量。
因此,根据上表得出的答案为 3。这是因为 cust_num '1234' 在 4 天内下了 2 个订单,而 cust_num '4421' 下了 1 个订单。所以总共 3
ii)我想统计在收到建议后 15 天内下订单的 DISTINCT customer_num 的数量。唯一的规定是我不想重新计算 (i) 在 4 天内下订单的订单。我想排除他们。
因此,答案为 1. Customer_num“4421”下了 1 个订单,该订单的有效期大于 4 天但小于或包括 15 天。
非常感谢任何帮助。谢谢。
最佳答案
一种方法是使用exists
:
select count(distinct cust_num)
from customers t
where exists (select 1
from customers t2
where t2.cust_num = t.cust_num and
t2.date between t.date and date_add(t.date, interval 3 day)
);
这两个查询具有相同的结构。您只需更改子查询中 where
子句中的条件即可。
关于mysql - 基于 timediff 和包含字符串的列的 SQL 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35748625/
我想了解为什么这个查询给我一个错误的答案: 此查询会将其格式化为时间,然后在 time_format 内我创建了一个 timediff在 2 个日期之间,我只有小时数。 SELECT time_fo
$arr = explode(':', $row['diff']); echo "$arr[0] minutes, $arr[1] seconds"; 数组正在输出:Array00 小时,20 分钟,
我必须在mysql的时间差异中使用一个条件。我必须修改以下查询:- select bugs_team_user_view.bug_id, bugs_team_user_view.creation_
投诉创建日期:2014-09-16T18:41:42.000Z 投诉截止日期:2014-09-17T10:41:42.000Z 如果投诉在创建日期后的第二天关闭,它将跳过(晚上 7 点至上午 10 点
我的查询是我想用 timediff 函数找到总和任何帮助 SELECT TIMEDIFF( timefrom, timeto ) FROM `leaveapply` WHERE userid = '2
我正在尝试设置一个查询,根据一列中最后一个唯一值出现的时间,在两次之间执行DATEDIFF。数据结构如下: row ticket_id create_time change_ti
所以我在涉及 timediff 函数的查询中遇到了性能问题。 对于 session 表(PK)中的每个 id 寄存器,study_behaviour 表中都有多个寄存器(idsession 是来自 S
Query Ouput 从输出中,您可以看到我可以选择MIN(TIME(Time)),但是当我在TIMEDIFF FUNCTION中使用它时,它会读取 MIN(TIME(Time)) 为 0,我得到的
这必须返回 1440 分钟并且工作正常: select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-13 10:00',
请考虑以下查询: SELECT submitted_time FROM jobs WHERE timediff(NOW(), submitted_time) DATE_ADD(NOW(), INTE
我的商店中有 500 个信息亭,并且有一个表可以通过商店 ID 跟踪每个打印件的时间戳。我需要生成一个记录集,以秒为单位给出打印之间的时间。所有这些数据都存储在一个表中。每次打印都会插入一条记录,其中
我需要计算一行与字段 dateCompleted 是该行之前最后一个字段的行之间的 TIMEDIFF,然后获取值 timeSinceLast。 我可以通过子查询轻松完成此操作,但速度非常慢。 (比直接
我一直在 MySQL 表上使用 TimeDiff 来获取 2 个字段之间的差异,这两个字段均采用 DateTime 格式。这是我正在使用的查询,它也将持续时间限制为仅今年。 SELECT userna
我在使用具有两个不同日期的 TIMEDIFF 时遇到问题。以下查询“应该”返回00:04:51 mysql> SELECT TIMEDIFF(TIME('2013-07-21 00:04:50'),T
我有一个查询,需要它从两个单独的表中选择两个不同时间的平均时差。 在查询的下一部分出现之前,这似乎很容易:我必须按学生进入办公室的原因进行分组。所以现在这个查询需要: 选择原因(why) 计算一个学生
我有两个字段: 初始(时间戳) 最终(时间戳) 我的查询是: SELECT TIMEDIFF(Final, Initial) AS 'Worked Hours' FROM `db_fo
timediff 函数没有按预期工作。在以下示例中,我尝试计算 1 年期间的秒数差异。 mysql>SELECT 366*24*60*60 AS expected; +----------+ | ex
Mysql Timediff 函数不适用于我的长日期。实际上我需要获取 date_time 字段与 now() 之间的时差 所以我用了这个查询 SELECT `date_time`,now(),tim
帮助。我在mysql中有这个查询。它的作用是组合三个表中的字段。其中一个字段(持续时间 (h))减去结束时间和开始时间。 5月时间数据仅采用时间形式,而不是日期时间。所以我决定使用timediff函数
我有一个 SQL 表事件,其中包含两个名为started_at、ended_at 的字段,每个字段都是一个日期时间列和一个plane_id 字段。 我们将间隔“end_at -start_at”称为持
我是一名优秀的程序员,十分优秀!