编写一个 SQL 语句,该语句可以生成其流式传输分钟数始终少于之前流式传输分钟数的客户列表。因为第 n 个顺序的分钟流小于第 n-1 个顺序的分钟流,并且下一个前一个顺序也更少。换句话说,列出每次观看电影的观看时间越来越短的客户。
表,查询:
我提出了以下查询:
select distinct c1.customer_Id
from Customer c1
join Customer c2
where c1.customer_Id = c2.customer_Id
and c1.purchaseDate > c2.purchaseDate
and c1.minutesStreamed < c2.minutesStreamed;
此查询不处理第 (n-1)st 和 (n-2)nd 比较,即“第 n 个顺序流式传输的分钟数小于第 n-1 个顺序流式传输的分钟数,以及下一个顺序也少了。”情况。
我附上了 sqlfiddle 的链接,我在其中创建了表。
最佳答案
您好,持续学习者,
以下语句适用于 n-1
和 n-2
关系。
select distinct c1.customer_Id
from Customer c1
join Customer c2
on c1.customer_Id = c2.customer_Id
join Customer c3
on c1.customer_Id = c3.customer_Id
where c1.purchaseDate < c2.purchaseDate
and c1.minutesStreamed > c2.minutesStreamed
and c2.purchaseDate < c3.purchaseDate
and c2.minutesStreamed > c3.minutesStreamed
尽管如此,我目前还没有针对此问题的自动解决方案。
干杯
关于mysql - 在 SQL 中比较 n 与 (n-1) 和 (n-2) 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49490101/