【问题标题】:Transpose Table Change Log Format to Show Max and Min dates转置表更改日志格式以显示最大和最小日期
【发布时间】:2021-05-21 13:50:28
【问题描述】:

我想将表格重组为不同的格式。我被困住了,不幸的是我的想法已经用完了。

该表显示了在任何给定日期从数据集中删除了哪些电子邮件以及添加了哪些电子邮件(请参阅下面的表数据)。

我想格式化结果以显示任何给定的电子邮件,添加的最短日期是什么,以及删除的最长日期是什么。这将更容易查询更改日志。

这是我的表格和需要的输出!任何建议或反馈将不胜感激。

【问题讨论】:

  • 您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库都使用的一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tagWhy should I tag my DBMS

标签: sql google-bigquery pivot


【解决方案1】:

如果我理解正确:

select  t1.ID, t1.emailAdded 
        , min(t1.date) as Min_DateAdded 
        , max(t2.date) as Max_DateRemoved
from tablename t1
left join tablename t2 on t1.ID = t2.ID and t2.emailRemoved = t1.emailAdded
group by  t1.ID, t1.emailAdded

【讨论】:

  • T1 和 t2 只是您的表的别名,我必须将表与自身连接起来,而区分它们的方法是给它们起别名
  • 为我工作,我不得不将最后一行和第一行的 t1.emailAdress 更改为 t1.emailAdded。我将第 2 行和第 3 行的 t1 和 t2 引用换成了 t1.date, t2.date - 现在它按预期工作。非常感谢!山羊
猜你喜欢
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多