【问题标题】:select distinct columns from db2 table从 db2 表中选择不同的列
【发布时间】:2015-03-05 21:47:27
【问题描述】:

我正在使用 spring batch 从表中读取数据并将数据写入另一个表,并且我正在使用 spring writer 进行插入部分。我的问题是:

我正在从如下所示的表中获取数据:

cust   type   date
====   =====  ====
 1       P    1985
 1       P    1980
 1       P    1970
 2       P    1984

我正在尝试通过从上表中运行 select distinct( cust , type) 的查询来将这些数据插入到另一个表中,以获得以下结果:

cust   type   date
====   =====  ====
 1       P    1985
 2       P    1984 

所以基本上我想要做的是获得cust and type 的不同集合,如果这个cust. type 集合有多个记录,那么我得到max(date)

在使用查询时有什么办法吗?或任何有效方法的建议?

提前致谢!

更新:

日期中有一些记录具有 NULL 值,例如

cust   type   date
====   =====  ====
 1       P    NULL
 1       P    NULL
 1       P    NULL
 2       P    1984

如果我查询max(date),它将不会返回来自cust(1) 的任何记录。任何建议都将不胜感激!

【问题讨论】:

  • 只要使用group by...

标签: sql spring db2 spring-batch batch-processing


【解决方案1】:
select 
   cust, 
   type, 
   max(isnull(date,'1/jan/1900')) 
from 
   <table>
group by 
    cust, 
    type

应该做的工作!

编辑:

在日期周围添加了一个 isnull,因此如果它为 null,它仍然会返回一个值。我自己没有测试过,所以让我知道它是怎么回事!

【讨论】:

  • 感谢@LordBaconPants 的回复!除了我在问题中未提及的一种情况外,我使用了它并且它工作正常,请检查问题的更新。希望你能帮我解决这个问题
猜你喜欢
  • 1970-01-01
  • 2022-01-02
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
相关资源
最近更新 更多