选择当一个字段的最大值对应于另一个字段的值时

道格冷杉

如果我有一个表“ table1”,并且这些列是:

EMAIL | USER_ID | START_DATE | CANCEL_DATE

如果某人注册了我们的数据库,他们只会出现一次。如果他们取消帐户,则会再次出现,并填充CANCEL_DATE-两次。如果他们随后重新订阅,它们将出现3次,并且新记录的日期为新的START_DATE。

因此,该表位于订阅级别,而不是帐户级别。

如果我想列出已取消订阅但自取消订阅以来一直未取消的人的电子邮件地址和用户ID列表,则需要(用简单的英语):

  1. 选择所有在CANCEL_DATE中至少有1个值的记录(电子邮件和ID)(如果它们从未取消过,则为NULL)
  2. 然后,在查看START_DATE的最大值时,这些记录中仅包括CANCEL_DATE不为NULL的记录。

我该怎么做呢?

如果是excel,我会在“取消日期”列中针对开始日期的最大值进行一次vlookup。

希望我有道理?

  • 稍后添加。我还需要添加条件,即最终结果应仅包括CANCEL_DATE <CURRENT_DATE的记录

我想我是用子查询得到的。是更清洁的方式吗?

SELECT EMAIL, USER_ID FROM (
    SELECT EMAIL, GUID, CANCEL_DATE
    FROM table1
    GROUP BY EMAIL, USER_ID, CANCEL_DATE
    HAVING MAX(CONTRACT_EFFECTIVE_DATE) < MAX(SUBSCRIPTION_END_DATE)
) base1
WHERE SUBSCRIPTION_END_DATE < CURRENT_DATE
牙齿

START_DATE和CANCLE_DATE是互斥的,只有一个填充,另一个为NULL?

select email, user_id
from table1
group by email, user_id
having max(START_DATE) > max(CANCEL_DATE)

这仅返回取消并稍后再次订阅的活动订阅者。

编辑:

由于您似乎希望完全相反,因此只需更改条件即可:

select email, user_id
from table1
group by email, user_id
having max(START_DATE) < max(CANCEL_DATE)

这将返回所有当前已取消的订户。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Splunk argmax:获取与另一个字段的最大值对应的字段值

来自分类Dev

每当另一个字段值为零时,返回一个字段的最大值

来自分类Dev

日期字段的最大值到Postgresql中的另一个字段

来自分类Dev

日期字段的最大值到Postgresql中的另一个字段

来自分类Dev

按另一个字段的最大值进行汇总

来自分类Dev

获取一个字段的最大值,但仅针对另一个字段中具有相同值的其他文档

来自分类Dev

使用输入数字值作为另一个字段的输入数字最大值

来自分类Dev

MySQL连接两个表,另一个字段具有最大值

来自分类Dev

mongodb / meteor:如何获取与另一个字段的$ max值相对应的一个字段的值?

来自分类Dev

MySQL:如何将结果限制为另一个字段的最大值?

来自分类Dev

按返回正确的名称分组,以获得另一个字段中的最大值

来自分类Dev

在另一个字段上键入时更新一个字段的值

来自分类Dev

根据另一个字段更新一个字段的值

来自分类Dev

将一个字段与另一个字段的所有值分组

来自分类Dev

当另一个字段值更改时更新一个字段值

来自分类Dev

检查一个字段的值是否在另一个字段中

来自分类Dev

选择一个字段的值,其中另一个字段等于rails中的值

来自分类Dev

sql-选择为一个字段记录相同的值,在另一个字段上记录不同的值

来自分类Dev

基于行总和与另一个字段值比较的mySQL选择

来自分类Dev

一个字段的MongoDb聚合框架值,其中最大另一个字段

来自分类Dev

一个字段基于另一个字段的求和

来自分类Dev

Laravel Eloquent:选择一个字段等于另一个字段的记录

来自分类Dev

在Oracle中更改另一个字段的值时更改表字段的值

来自分类Dev

Django根据另一个字段的值验证字段

来自分类Dev

Mongodb-查找另一个字段中存在的字段值

来自分类Dev

JSON模式条件:根据另一个字段的值,该字段是必需的

来自分类Dev

来自另一个字段的Gravityforms字段值

来自分类Dev

基于另一个字段值的猫鼬隐藏/显示字段

来自分类Dev

基于Jackson中另一个字段值的条件字段要求?

Related 相关文章

  1. 1

    Splunk argmax:获取与另一个字段的最大值对应的字段值

  2. 2

    每当另一个字段值为零时,返回一个字段的最大值

  3. 3

    日期字段的最大值到Postgresql中的另一个字段

  4. 4

    日期字段的最大值到Postgresql中的另一个字段

  5. 5

    按另一个字段的最大值进行汇总

  6. 6

    获取一个字段的最大值,但仅针对另一个字段中具有相同值的其他文档

  7. 7

    使用输入数字值作为另一个字段的输入数字最大值

  8. 8

    MySQL连接两个表,另一个字段具有最大值

  9. 9

    mongodb / meteor:如何获取与另一个字段的$ max值相对应的一个字段的值?

  10. 10

    MySQL:如何将结果限制为另一个字段的最大值?

  11. 11

    按返回正确的名称分组,以获得另一个字段中的最大值

  12. 12

    在另一个字段上键入时更新一个字段的值

  13. 13

    根据另一个字段更新一个字段的值

  14. 14

    将一个字段与另一个字段的所有值分组

  15. 15

    当另一个字段值更改时更新一个字段值

  16. 16

    检查一个字段的值是否在另一个字段中

  17. 17

    选择一个字段的值,其中另一个字段等于rails中的值

  18. 18

    sql-选择为一个字段记录相同的值,在另一个字段上记录不同的值

  19. 19

    基于行总和与另一个字段值比较的mySQL选择

  20. 20

    一个字段的MongoDb聚合框架值,其中最大另一个字段

  21. 21

    一个字段基于另一个字段的求和

  22. 22

    Laravel Eloquent:选择一个字段等于另一个字段的记录

  23. 23

    在Oracle中更改另一个字段的值时更改表字段的值

  24. 24

    Django根据另一个字段的值验证字段

  25. 25

    Mongodb-查找另一个字段中存在的字段值

  26. 26

    JSON模式条件:根据另一个字段的值,该字段是必需的

  27. 27

    来自另一个字段的Gravityforms字段值

  28. 28

    基于另一个字段值的猫鼬隐藏/显示字段

  29. 29

    基于Jackson中另一个字段值的条件字段要求?

热门标签

归档