mysql - 在 SQL 中比较 n 与 (n-1) 和 (n-2) 条记录

标签 mysql sql

编写一个 SQL 语句,该语句可以生成其流式传输分钟数始终少于之前流式传输分钟数的客户列表。因为第 n 个顺序的分钟流小于第 n-1 个顺序的分钟流,并且下一个前一个顺序也更少。换句话说,列出每次观看电影的观看时间越来越短的客户。

表,查询:

sqlfiddle link:

我提出了以下查询:

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-1n-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/

相关文章:

mysql - WordPress 根据条件更新自定义字段

php - 1064 预约 Pro 出错

php - 选择所有记录时从表中获取第一个相关图像

mysql - 计算每年开始日期和结束日期之间的持续时间(以天为单位)

php - 使用 PHP 配置邮件服务器

mysql - 如何在 SQL 中的行中查找重复项?

php - 我将如何优化这个 PHP SQL 脚本?

mysql - SQL查询,检查A列中具有相同值的单元格在B列中是否具有相同的值

sql - 表名作为变量

mysql - 如何仅返回一列中不同的结果,同时允许其他列中出现重复结果?