【问题标题】:Is it possible to modify data from UNION query in this way?是否可以通过这种方式修改 UNION 查询中的数据?
【发布时间】:2022-06-23 15:59:03
【问题描述】:

我写的UNION查询出来的数据是这样的。

COLUMNS1     COLUMNS2       DATE1                  DATE2
--------------------------------------------------------------------
 A              B            2022-01-10 05:40:12      NULL
 A              B             NULL                  2022-01-25 12:40:00
 C              D            2022-01-15 05:40:12      NULL
 C              D             NULL                  2022-01-17 12:40:00
 ...

我怎样才能将上述数据作为查询出来?

COLUMNS1       COLUMNS2       DATE1                  DATE2
--------------------------------------------------------------------
 A              B            2022-01-10 05:40:12    2022-01-25 12:40:00
 C              D            2022-01-15 05:40:12    2022-01-17 12:40:00
.... 

同样,您可以使用 LEFT OUTER JOIN ,但我不想使用它。

看起来很简单,但我根本找不到答案。也许这是不可能的,但我在努力吗?

【问题讨论】:

  • GROUP BY 和一些聚合函数(例如 MAX)。

标签: mysql sql union


【解决方案1】:

您可以对查询结果进行分组并聚合日期列,例如:

select COLUMS1, COULUMS2,
  max(DATE1) DATE1,
  max(DATE2) DATE2
from (...)t
group by COLUMS1, COULUMS2;

【讨论】:

  • 谢谢.. 为什么我没有想到 MAX func ;(
猜你喜欢
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多